Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Probleme mit Konvertierung String->PChar (Pointer)-&a

  Alt 15. Jun 2005, 00:22
Moin!
  • Du legst in deiner Datenbank Zeiger auf lokale Variablen ab. Problem dabei ist grundlegend: beim verlassen der Procedure sind die Variaben nicht mehr gültig und der Speicherbereich wird für was anderes genutzt. Das siehst du ja ganz gut an deinem Problem.
  • Dein Free gibt die angelegten Speicherresourcen nicht mal ansatzweise frei - vernachlässige dies nicht sondern entwickle das immer gleich mit!
  • Abhilfe zu deinem Problem: explizit Speicher für den PChar anfordern (wie du es mit New() für die Strukturzeiger machst - dort würde es auch nicht klappen einen Zeiger auf einen lokal definierten Record einzutragen) und diese dann zu nutzen.
  • Beachte bei dem Weg aber, das du den Speicher der mit StrAlloc() angelegt wurde wieder freigegeben werden muss!

Dein 2. Weg klappte meistens, weil du da zwischen anlegen und auslegen nicht viel machst und daher die Chance höher ist, das der Speicher noch nicht wieder neu genutzt wurde.

MfG
Muetze1
Angehängte Dateien
Dateityp: zip mydb_new_191.zip (3,9 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat