Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.170 Beiträge
 
Delphi 12 Athens
 
#2

Re: PChar wird einfach verändert!

  Alt 5. Apr 2006, 11:43
PChar nimmt nur den Pointer zu den Daten, die ihm übergeben wurden und schreibt diesen in die Variable, welcher es zugewiesen wurde,
da du jetzt aber ini.ReadString nicht erst in eine Variable (z.B. String) einließt, nimmt Delphi selber eine Temporäre Variable und übergibt den Wert von ini.ReadString dieser.
Und um effektief zu sein, nimmt Delphi natürlich nicht ständig eine Neue, sonder verwendet immer wieder die Selbe, also sobald das Passwort ausgelesen wird, wird auch der Inhalt dieser temporären Variable verändert und da aber in dein Zeiger (muffel) noch darauf Zeigt, wird natürlich auch dessen Inhalt mit geändert und am Ende auch mit Freigegeben

Du mußt also deine Werter aus der Ini irgendwo abspeichern (in einem eigenständigem Speicherbereich, vorzugsweise eine eigenen Variable) und darauf kannst du dir erst einen Pointer holen, wenn es dann überhaupt noch nötig ist (hast ja dann auch eine echte Variable mit den gewünschten Werten) ^^
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat