Voorbeeld voor connectie:
Code:
procedure TColumbaMain.POP3ServerConnect(AThread: TIdPeerThread);
begin
AThread.Data:= TdPOP3Connection.Create(nil, FDatabaseName, FUsername, FPassword, FUIDLRange);
if not TdPOP3Connection(AThread.Data).FInitialized then
begin
AThread.Connection.WriteLn('-ERR Unable to accept connection due to Internal Server Error.');
AThread.Connection.Disconnect;
end;
end;
Hierbij is TPOP3Connection een TDataModule met een TIBDatabase en stuff...
Verder dus geen calls naar de VCL (onder voorbehoud van de Calls van de Events!!!)
De events zijn volgens mij NIET thread safe omdat ze op een TForm staan.
Hoe los ik dat probleem op? Door de events als procs op de TDatamodule te zetten en ze bij het creeren toe te wijzen? dat wil volgens mij ook niet helemaal...
Hoe creeer je dan de event handlers voor de TPOP3Server en TSMTPServer zonder dat ze in de TForm draaien?
Misschien met een TIdThread Component?
feel free to respond, Christiaan
Bookmarks