Hallo, ich bekomme bei der ausführung dieser Function einen Read Error.
Delphi-Quellcode:
var
FPath: string;
Source, SPath: string;
Target, TPath: string;
Release: string;
FQF: string;
IFQF: string;
type
TShellexecute = function(hWnd: HWND; Operation, FileName, Parameters,
Directory: PChar; ShowCmd: Integer): HINST; stdcall;
function WriteFQF( mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar;
Show: Boolean; NoPause: Boolean ): Integer; export; stdcall;
var
FileName: PAnsiChar;
dump: TStringList;
i: Integer;
MyShellExecute: TShellexecute;
begin
FileName := PChar(FQF);
dump := TStringList.Create;
with dump do
begin
dump.Add('10' + Source + '' + Target + '' + Release + '/4096');
for i := dump.Count -1 to StrToInt(IFQF) do
begin
if FileExists(FileName) = true then
DeleteFile(PChar(FileName))
else
begin
dump.SaveToFile(PChar(FileName));
end;
end;
dump.Free;
MyShellexecute(0, 'open', 'FlashFXP.exe', PChar(FPath), PChar('-c3 -tray' + ' ' + FQF), SW_NORMAL);
Result := 3;
end;
end;
end;
exports
WriteFQF;
begin
FPath := ParamStr(1);
Source := ParamStr(2);
Spath := ParamStr(3);
Target := ParamStr(4);
TPath := ParamStr(5);
Release := ParamStr(6);
FQF := ParamStr(7);
IFQF := ParamStr(8);
end.
Woran liegt das bzw was ist falsch?
die
dll wird von mIRc dynamisch geladen bzw angesprochen. mIRC möchte immer als Result nen Integer wert haben, laut Hilfe ..
The routine in the
DLL being called must be of the form:
int __stdcall procname(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)
Allerdings stürzt mIRC dann immer mit einem Read Error ab. Wäre super wenn wer rat weiß :))
merci :)