Текущий архив: 2005.12.18;
Скачать: CL | DM;
ВнизОтслеживание события из функции. Найти похожие ветки
← →
MasterVovan (2005-12-01 14:22) [40]=)))) всё! я спасён!!!
===========================library Project1;
uses
SysUtils,
Classes,
DnsQuery,
forms;
{$R *.res}
type
TOnDone=class
public
OK: Boolean;
procedure DnsRequestDone(Sender: TObject; Error: Word);
end;
procedure TOnDone.DnsRequestDone(Sender: TObject; Error: Word);
Begin
OK := true;
End;
function getsmtp(dns_a,smtpa: PChar): PChar; stdcall;
var
Dns: TDnsQuery;
Obj: TOnDone;
begin
Obj := TOnDone.Create();
Dns := TDnsQuery.Create(nil);
try
Dns.OnRequestDone := Obj.DnsRequestDone;
dns.Port:="53";
dns.Addr:=dns_a;
dns.Proto:="udp";
dns.MultiThreaded:=true;
dns.MXLookup(smtpa);
while (not Obj.OK) do
Begin
application.ProcessMessages();
Sleep(100);
End;
result:=PChar(dns.MXExchange[0]);
finally
Obj.Free();
dns.Free();
end;
end;
exports getsmtp;
begin
end.
=====================
полностью рабочий вариант без всяких дополнительных форм и модулей!!! =)
Огромное спасибо за помощь!
PS: проверил на nil application, но оказался не nil. А вообще возможно обратное?
← →
alex_*** © (2005-12-01 14:43) [41]Наверно нет. На 5-ке какие-то траблы были... не помню.
← →
MasterVovan (2005-12-01 14:54) [42]ясно... 5-ку не использовал.. сразу с 4-ки на 6-ку перескочил... =)
еще раз спасибо!
PS: не совсем тема для новичков оказалась... ;)
← →
Набережных С. © (2005-12-01 16:29) [43]
> PS: не совсем тема для новичков оказалась... ;)
Ошибаешься
Страницы: 1 2 вся ветка
Текущий архив: 2005.12.18;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.015 c