Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Fehler: "Ungültiger Varianttyp" - nur unter Wi

  Alt 20. Mär 2007, 17:31
Zitat von uwi1961:
das Problem tritt immer auf, wenn es sich um den Datentyp Char(..) oder VarChar(..) handelt und das Feld nicht leer ist ...
AHA, das ist doch schon mal was.
Der Varianttyp varString (= $0100) ist ja nur innerhalb von Delphi zulässig.
Ausserhalb von Delphi, also müssen alle Strings innerhalb eines Variants den Typ
varOleStr (= $0008) haben.
Das ist der kleine Unterschied zwischen Variant und OleVariant.

Versuch mal das:
Delphi-Quellcode:
procedure PasteCurrent(DS: TDataset);
var z : Integer;
begin
  DS.Append;
  for z:=0 to VarArrayHighBound(aField, 1)-1 do
  begin
    case DS.fields[z].DataType of
       ftString, ftFixedChar, ftWideString:
         DS.fields[z].AsString := aField[z];
    else
       DS.fields[z].Value:=aField[z];
  end;
  DS.Post;
end;
Andreas
  Mit Zitat antworten Zitat