Delphi-Quellcode:
function Speichern(s:String; var Value):Integer;
var
ptrString:^String;
ptrInteger:^Integer;
ptrDouble:^Double;
ptrSingle:^Single;
error:Integer;
begin
case VarType(Value) of //hier tritt ein Fehler auf
und was für ein Fehler?
Delphi-Quellcode:
VarInteger: Begin
ptrInteger:=@Value;
Val(s,ptrInteger^,error);
ptrInteger:=nil;
End;
^Integer ist nicht das gleiche wie ein Pointer auf Value.
wenn du ein Variant verwendetest in dem ein Integer gespeichert ist, kannst du es einfach einem Integer zuweisen.
also:
Delphi-Quellcode:
var iWert:Integer;
if VarType(Value)=varInteger then begin
iWert:=Value;
end;
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
a:Double;
Fehler:Integer;
begin
Speichern(Edit1.Text,a,Fehler); //Hier ist a vom Datentyp Double. Prinzipiell sollen aber auch alle der oben erwähnten Datentypen funktionieren.
end;
Die Definition von Speichern
function Speichern(s:String; var Value):Integer;
hat aber keinen Parameter für Fehler. Wie soll das gehen?
Gruß
Luggi