在delphi中,要在interface部分声明过程,应将声明写在什么位置?
来源:百度知道 编辑:UC知道 时间:2024/05/24 12:43:31
unit paixu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edtdata: TEdit;
input: TButton;
Listdata: TListBox;
sort: TButton;
Labresult: TLabel;
procedure inputClick(Sender: TObject);
procedure sortClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
queue=array[1..10]of integer;
procedure sort1(var queue1:queue;n:integer);
procedure swap(var x,y:integer);
var
Form1: TForm1;
i:integer;
dataarray:queue;
能不能帮我看一下错在哪里,怎么改。
去掉type后,提示[Error] paixu.pas(32): Unsatisfied forward or external declaration: 'sort1'。
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edtdata: TEdit;
input: TButton;
Listdata: TListBox;
sort: TButton;
Labresult: TLabel;
procedure inputClick(Sender: TObject);
procedure sortClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
queue=array[1..10]of integer;
procedure sort1(var queue1:queue;n:integer);
procedure swap(var x,y:integer);
var
Form1: TForm1;
i:integer;
dataarray:queue;
能不能帮我看一下错在哪里,怎么改。
去掉type后,提示[Error] paixu.pas(32): Unsatisfied forward or external declaration: 'sort1'。
首先要去掉type后,
提示[Error] paixu.pas(32): Unsatisfied forward or external declaration: 'sort1'
是由于你在implementation中没有过程的实现,即该过程的具体代码
如果过程要执行的操作只适用于Form1的话,我建议将过程定义到TForm1中的private中。这样符合面向对象的观点
Type关键字的后面,如:
Type
TForm1:TForm
...
end;
procedure YourProc(a: integer);
有的对象定义得比较长:如TForm1的,注意不要写在那里面,不然就弄成TForm1的过程了。
你用了两个Type,Type只用一次就行了,把第二个去掉就行了。
//type<==这个去掉
queue=array[1..10]of integer;
procedure sort1(var queue1:queue;n:integer);
procedure swap(var x,y:integer);