Hallo Delphi-Fans,
ich habe ein Problem mit einem Record, in dem viele Variablen vom Typ PChar gespeichert werden sollen.
Der Record ist wie folgt aufgebaut:
Delphi-Quellcode:
TUpdateInfo = RECORD
ApplicationTitle : PChar;
ApplicationName : PChar;
ApplicationPath : PChar;
ApplicationExeName : PChar;
UpdatePath : PChar;
SourceURL : PChar;
CurrentVersion : TVersion;
LangId : Integer;
END;
In einem Testprogramm erzeugt die Methode GetInfo eine Instanz des Typs TUpdateInfo:
Delphi-Quellcode:
function TForm1.GetInfo:TUpdateInfo;
begin
Result.ApplicationExeName := PChar(Application.ExeName);
Result.ApplicationName := PChar('
Update-Test');
Result.ApplicationPath := PChar(ExtractFileDir(Application.ExeName));
Result.ApplicationTitle := PChar(Application.Title);
Result.CurrentVersion := CreateVersion(2, 5, 0);
Result.LangId := langGer;
Result.SourceURL := PChar('
http://intranet.tng.ad/DB/UPDATE/Test/');
Result.UpdatePath := PChar(GetTempPath);
end;
Wenn ich diese Methode debugge, steht in jedem Teil von Result der richtige Wert.
In der Variable, der dieses Result zugewiesen wird, stehen fehlerhafte Werte:
Delphi-Quellcode:
var Info : TUpdateInfo;
begin
Screen.Cursor:=crHourGlass;
Info := GetInfo;
In diesem Fall würde in Info etwas falsches stehen.
Mit scheint es, als ob es beim Zuweisen des Inhalts für Info irgendeinen Fehler gibt.
Falls sich jemand gut mit PChars auskennt und eine Lösung / einen Fehler findet,
wäre ich dankbar.