GetWindowsDirectory

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
Sorter efter stemmer Sorter efter dato
<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>



t