简单的小问题,分数不多,请指点一下。(20分)

  • 主题发起人 主题发起人 扳手
  • 开始时间 开始时间

扳手

Unregistered / Unconfirmed
GUEST, unregistred user!
请看一下这段代码:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
//定义接口
isampleinterface=interface(iunknown)
function getname:string;
procedure setname(s:string);
end;

//实现接口
tsamplelmpl=class(tinterfacedobject,isampleinterface)
public
_name:string;
function getname:string; /*********************************/
procedure setname(s:string);/*********************************/
end;

var
Form1: TForm1;
myinterface:isampleinterface;


implementation

{$R *.dfm}

end.

打星号的两行编译时出现错误提示:
[Error] Unit1.pas(30): Unsatisfied forward or external declaration: 'tsamplelmpl.getname'
[Error] Unit1.pas(31): Unsatisfied forward or external declaration: 'tsamplelmpl.setname'
这是怎么回事?怎么解决?
 
哈,我刚解决完这个问题,你在implementation下面写上实现上面两个函数的实现就
可以了。

function tsamplelmpl.getname:string; /*********************************/
begin
end;
procedure tsamplelmpl.setname(s:string);/*********************************/
begin
end;
记住要在implementation段内写,与其他函数顺序无关。
 
果然是这样,我怎会这么笨嘞???晕!!!~~~~差点忘了————加分!!。。。再晕~~
 
后退
顶部