Einzelnen Beitrag anzeigen

Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#1

Eine Variable "umziehen"

  Alt 14. Okt 2009, 18:48
Hallo DP!

Ich stehe vor folgendem Problem:
Ich arbeite an einem Parser für eine schlanke, erweiterbare Scriptsprache, und bin dabei, das Funktions/Prozedursystem zu implementieren. Dazu will ich aus einer DLL Funktionen mit einem Array of Pointer als Parameter callen. Funktionierte in den Testläufen auch wuderbar, darum geht's nicht.

Nur, wenn ich mein Script parse, will ich gleich die Pointer auf die Parameter bekommen und einlagern in ein selbtgebautes "CodeItem". Das Problem ist, wenn ich nun einen PString zwischenspeichere und dann weiterparse, dann kommt vereinfacht (Durch Schleifen) so etwas heraus:
Delphi-Quellcode:
var
  AusgabeArray: array of Pointer;
  S: string;
begin
SetLength(AusgabeArray, 2);
S:='TestEins';
AusgabeArray[0]:=@Test;
S:='Blah';
AusgabeArray[1]:=@Test;
end;
Mir ist klar, was hier schiefläuft: Der Speicherbereich von S wird ja zwischendurch nicht verändert, und so kommt letzen Endes das allmächtige "Blah" an beiden Stellen des Arrays heraus...
Kann ich irgendwie dem String/Integer/Boolean/Float/... neuen Speicherbereich zuordnen, sodas ich wirklich zwei Pointer einsortiere?

MfG, Euer LDer
"Clicking this button you agree with our Verantwortungsverzicht und Abkommen."
Zitat von Ein unentschlossener Programmierer:
Enabled:=true or false or true or false or true or false;
  Mit Zitat antworten Zitat