Форум: "Основная";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];
ВнизДинамическое назначение event у компоненты NMPop3 (из FastNet) Найти похожие ветки
← →
tasman (2003-06-06 06:51) [0]Доброго времени суток!
Люди, помогите! У меня проблема с динамическим назначением процедуры у компонента NMPop3(из FastNet"а). Если пишу
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, NMPop3;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure NMConnect(Sender: TObject);
procedure GetMail(hst,usrid,psw:string);stdcall;
procedure NMFailure(Sender: TObject);
procedure CFailed(Sender: TObject);
end;
var
Form1: TForm1;
NMPop3_:TNMPop3;
implementation
{$R *.DFM}
procedure TForm1.NMConnect(Sender: TObject);
begin
showmessage("OnConnect - Connect!");
end;
procedure TForm1.NMFailure(Sender: TObject);
begin
showmessage("OnFailure - error!");
end;
procedure TForm1.CFailed(Sender: TObject);
begin
showmessage("Conect failed!");
end;
procedure TForm1.GetMail(hst,usrid,psw:string);stdcall;
begin
try
NMPop3_:=TNMPOP3.Create(self);
showmessage("Create - OK");
NMPop3_.AttachFilePath:=".";
NMPop3_.OnConnect:=NMConnect;
NMPop3_.OnFailure:=NMFailure;
NMPop3_.OnConnectionFailed:=CFailed;
NMPOP3_.DeleteOnRead := TRUE;
NMPOP3_.ReportLevel := 2{Status_Basic};
NMPOP3_.TimeOut := 20000;
NMPOP3_.Host := hst;
NMPOP3_.Port := 13;
NMPOP3_.UserID := usrid;
NMPOP3_.Password := psw;
showmessage("Set parametrs - OK");
NMPOP3_.Connect;
showmessage("Connect - OK");
finally
NMPop3_.Destroy;
showmessage("Destroy!");
end;
end;
end.
то все нормально. Но только стоит уйти от TForm, как тут же начинаются проблемы! :(
program Project1;
uses
SysUtils,
Classes,
NMpop3,
dialogs;
var
NMPop3_:TNMPOP3;
{$R *.RES}
procedure NMConnect(Sender: TObject);
begin
showmessage("OnConnect - Connect!");
end;
procedure GetMail(hst,usrid,psw:string);stdcall;
begin
try
NMPop3_:=TNMPOP3.Create(nil);
showmessage("Create - OK");
NMPop3_.AttachFilePath:="";
NMPop3_.OnConnect:=NMConnect; //Выдает ошибку:Incompatible types: method pointer and regular procedure
NMPOP3_.DeleteOnRead := TRUE;
NMPOP3_.ReportLevel := 2{Status_Basic};
NMPOP3_.TimeOut := 20000;
NMPOP3_.Host := hst;
NMPOP3_.Port := 13;
NMPOP3_.UserID := usrid;
NMPOP3_.Password := psw;
showmessage("Set parametrs - OK");
NMPOP3_.Connect;
showmessage("Connect - OK");
finally
NMPop3_.Destroy;
showmessage("Destroy!");
end;
end;
begin
GetMail("ukrpost.net","tasman","qwerty");
end.
Понимаю, что вопрос ламерский, но все же помогите, плиз, а то мочи нет.
← →
Song (2003-06-06 08:14) [1]Процедура GetMail() не является процедурой класса, поэтому она не видит NMConnetct без явного указания объекта класса.
← →
tasman (2003-06-07 07:42) [2]2Song
Спасибо, я уже понял :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c