Tags:
delphi
okay, jeg sidder her og roder, i delphi, med noget gammelt kode som ikke virker, og jeg kan simplehen ikke finde fejlen så nu sprøg jeg her
hvorfor giver dette en access violation i ntdll.dll
procedure TForm1.Button1Click(Sender: TObject);
var
buf : pchar;
begin
GetSystemDirectory(buf,MAX_PATH+1);
Caption := buf;
end;
Det er sikkert en lille ting jeg har overset, men jeg ved virkelig ikke hvad det er ?!?!
håber der er en der kan hjælpe mig
-Mads
1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
<quote>Hvorfor giver dette en access violation i ntdll.dll
procedure TForm1.Button1Click(Sender: TObject);
var
buf : pchar;
begin
GetSystemDirectory(buf,MAX_PATH+1);
Caption := buf;
end;
</quote>
Fordi du ikke har allokeret plads til resultatet. Prøv med følgende:
<pre>
procedure TForm1.Button1Click(Sender: TObject);
var
buf: string;
begin
SetLength(buf, MAX_PATH + 1);
GetSystemDirectory(PChar(buf), MAX_PATH + 1);
Caption := buf;
end;
</pre>