hallo
hab deinen source nur kurz überflogen, aber versuch mal deine variable zu nem pointer zu casten, also
so in etwa
if 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);