Komisch. Wenn ich jetzt die Prozedur calle, bleiben "Vars" und "VarNames" exakt gleich. Muss ich die doch als Referenzparameter oder gar als Zeiger übergeben?
Bin jetzt etwas ratlos... in der Proc werden beide Arrays (die ja intern nur Zeiger sein dürften) nämlich verändert, durch ShowMessage ließ sich das beweisen.
Also, ich lasse den Worten Code folgen:
Delphi-Quellcode:
procedure CREATEVAR(Params:TParamArray; Vars, VarNames:TVarArray);
var
I:integer;
Param:string;
begin
Param:=string(GetParam(0, Params, Vars, VarNames));
I:=GetVarIndex(Param, VarNames);
if(I=-1)then
begin
SetLength(VarNames, Length(VarNames)+1);
SetLength(Vars, Length(Vars)+1);
GetMem(VarNames[I], Length(Param));
VarNames[I]^:=Param;
end;
end;
Gruß,
LDer.
Add: Ich mach mal en neues Thema auf, passt ja nicht mehr ganz hier rein