Einzelnen Beitrag anzeigen

nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#40

Re: routine aendern(speichern in listbox>speichern in has

  Alt 16. Jun 2009, 12:13
hallo

hab deinen source nur kurz überflogen, aber versuch mal deine variable zu nem pointer zu casten, also
so in etwaif hashpicofsit.Find(key, Pointer(dummy2)) edit:
hab nun mal etwas genauer geguckt...
if not (filename = '') then hashpicofsit.Add(filename,@key) ich glaube nicht, dass das so funktionieren wird. du fügst einen pointer
auf eine lokale variable ein, die beim verlassen der funktion nicht mehr
verfügbar ist (somit auch, wenn du sie später verwenden willst).
du solltest selber speicher reservieren für deinen string und dann einen
pointer darauf einfügen. dieser string ist so lange verfügbar, bist du
ihn selber freigibst.

du könntest es in der art machen (so ausm kopf)
Delphi-Quellcode:
var
  P: PChar;
begin
...
  P := StrNew(PChar(key));
  Dict.Add(filename, P);
...
end;

//später dann
  ...
  Dict.Find(filename, P);
  showmessage(StrPas(P)); //oder mache irgendetwas anderes mit dem string
  ...

//wenn du ihn nicht mehr brauchst:
  StrDispose(P);
  Mit Zitat antworten Zitat