Hi, ich bin gerade bei nem Programm, wo ich 2 Proceduren in ne
Dll ausgelagert hab. Die ein klappt ja auch, soll nur ne datei löschen, aber die andere macht immer ne fehlermeldung, obwohl die keinen sinn macht.
Delphi-Quellcode:
Code inner
DLL:
procedure statistik(user:pchar;rank,versuche,nummer:integer);
var ini:TiniFile;
begin
user:=pchar(InputBox('
Statistik', '
Bitte Namen eingeben', '
'));
if(user='
')
then
user:='
Unbenannt';
ini := TIniFile.Create(ExtractFilePath(Application.exename)+'
Raten.dat');
ini.WriteString('
Wichtig','
Wichtig','
Wenn Sie diese Datei Löschen, gehen alle Daten der Statistik verloren!');
ini.WriteString(InttoStr(nummer),verschluesseln('
Rank'),verschluesseln(InttoStr(rank)));
ini.WriteString(InttoStr(nummer),verschluesseln('
Name'),verschluesseln(user));
ini.WriteString(InttoStr(nummer),verschluesseln('
Versuche'),verschluesseln(InttoStr(versuche)));
ini.UpdateFile;
ini.free;
end;
Delphi-Quellcode:
Im Programm:
type
Tstatistik =
procedure;
procedure statistik(user:pchar;rank,versuche,nummer:integer);
procedure Tf_raten.statistik(user:pchar;rank,versuche,nummer:integer);
var statistik: Tstatistik;
Handle: THandle;
begin
Handle:=LoadLibrary(PChar('
statistikdll.dll'));
if Handle <> 0
then
begin
@statistik := GetProcAddress(
Handle, '
statistik');
if @statistik <>
nil then
begin
statistik;
end;
FreeLibrary(
Handle);
end;
showmessage('
ende');
end;
Das geniale hier ist, dass er die Message 'Ende' auch noch anzeigt und erst wenn die Procedure eigentlich fertig ist, amcht er ne fehlermeldung(liegt nich an der Message
)
Fehlermeldungen sind im anhang, wäre zu aufwändig die abzutippen
1., ist die direkte Fehlermeldung und die 2. die, die erscheint, wenn mann dei anwendung dann über delphi neustartet.
Kann mir jemand sagen, wass ich da falsch gemacht hab???