Autor Beitrag
tortom1000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175

Win XP, Win Server 2003 - 2012, Win 7
Delphi 7
BeitragVerfasst: Fr 02.10.09 11:04 
Hallo Delphi-Gemeinde,
ich hab ein merkwürdiges Programmverhalten festgestellt, welches ich mir nich erklären kann. Daher nun gerne per Frage an die Profis:

Ich weise der String-Variablen "logfile" im OnShow der Form einen Wert folgendermaßen zu:
ausblenden Delphi-Quelltext
1:
logfile := ExtractFilePath(ParamStr(0)) + 'Logs\log.txt';					

Danach überprüfe ich den Wert (zu Testzwecken...) mit:
ausblenden Delphi-Quelltext
1:
Showmessage(logfile);					

-> Der Wert wird richtig angezeigt z.B.: "C:\MeinProgramm\Logs\log.txt"

Die Variable wird später nicht mehr verändert! Greife ich später auf diese Variable im Programm zurück, hat sie (für mich) merkwürdigerweise den Wert "C".

Daraufhin habe ich den Quelltext nach "logfile" durchsucht, ohne Beachtung der Groß- und Kleinschreibung, und nirgends eine neuerliche Wertzuweisung entdeckt.

Nun frag ich mich, wie es zu der Wertänderung kommt?

Viele Grüße
Tortom

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Fr 02.10.09 11:25 
Kannst du das Projekt in einem Archiv hier hochladen? Dann könnte man das besser nachvollziehen...

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
tortom1000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175

Win XP, Win Server 2003 - 2012, Win 7
Delphi 7
BeitragVerfasst: Fr 02.10.09 11:31 
Hallo,
ich kann den Quelltext hier leider nicht offenlegen, weils nur in Teilen vom mir ergänzt wurde und ich nicht weiß, ob der Inhaber dies wünscht/erlaubt.

Ich werde das mal nachbauen mit einem kleinen Programm. Mal sehen, wie es sich dann verhält...

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 02.10.09 11:31 
Zwei Möglichkeiten:
  • Die Variable ist nur lokal deklariert innerhalb von OnShow statt unter private des Formulars
  • Du hast ein Speicherproblem und überschreibst Speicher, der dir nicht gehört