Du übergibst der
Dll Funktion den String? Um Spass mit langen Strings zu vermeiden verwende ich für die Kommunikation mit
Dll's Named Pipes oder gleich einen Netzwerk Socket.
Der Übergabeparameter an die
DLL ist nur ein Record in dieser Form:
Code:
RFTPEventStr = Record
// event info
Event: Longword; // event code
SubEvent: Longword; // sub-event code
// user info
SessionID: Longword; // unique ID of the
FTP session
User: array [0 .. 39] of AnsiChar; // user name
ClientIP: array [0 .. 15] of AnsiChar; //
IP number of client
LocalIP: array [0 .. 15] of AnsiChar; //
IP number the client connected to
// event attributes
Duration: Longword; // duration of events (in seconds)
Size: Longword; // size of object (i.e. file)
// hook info
hWindow: word; // window
handle to post decision to
Message: longint; // message to post
pReplyText: PAnsiChar; // pointer to text to send to user
AuxOne: array [0 .. 511] of AnsiChar; // auxiliary area one
AuxTwo: array [0 .. 511] of AnsiChar; // auxiliary area two
end;
Das ist soweit aber iO. Die Daten aus dem Objekt werden nur innerhalb der
DLL verwendet, also nicht an die Hostanwendung durchgereicht.