Ich bin gerade bei Umstieg von D 6/XP auf XE2/Win7.
unter den D6 Bedingungen hatte ich folgendes:
Delphi-Quellcode:
FRSet:=CreateComObject(CLASS_RECORDSET) as _Recordset;
FRSet.CursorLocation:=adUseClient;
FRSet.Fields.Append('k',adInteger,4,adFldKeyColumn);
FRSet.Fields.Append('POSX',adSingle,0,adFldUnspecified);
FRSet.Fields.Append('POSY',adSingle,0,adFldUnspecified);
FRSet.Open(EmptyParam,EmptyParam,adOpenUnspecified,adOpenUnspecified);
was immer funktioniert hat.
Unter XE2 beklagt sich der Compiler: "Nicht genügend Parameter" (beim 1. Append bereits).
OK: auf folgendes geändert:
Delphi-Quellcode:
FRSet:=CreateComObject(CLASS_RECORDSET) as _Recordset;
FRSet.CursorLocation:=adUseClient;
FRSet.Fields.Append('k',adInteger,0,adFldKeyColumn,0);
FRSet.Fields.Append('POSX',adSingle,0,adFldUnspecified,0);
FRSet.Fields.Append('POSY',adSingle,0,adFldUnspecified,0);
FRSet.Open(EmptyParam,EmptyParam,adOpenUnspecified,adOpenUnspecified,0);
Damit war der Compiler erstmal beruhigt.
Während der Laufzeit erhalte ich dann die Fehlermeldung:
"Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitsbereichs oder sind miteinander unvereinbar"
Frage wie geht es richtig?