Hallo Neutral General,
der Einwand ist gut und ich denke, da werde ich es auch noch hinbewegen.
Aber ich habe den Fehler bereits gefunden.
Und zwar liegt es an ein paar bestimmten Werten im "Goal":
Delphi-Quellcode:
Goal = class(TRemotable)
private
FgoalID: Integer;
FgoalMachID: Integer;
FgoalScoreTeam1: Integer;
FgoalScoreTeam2: Integer;
FgoalMatchMinute: Integer;
FgoalGetterID: Integer;
FgoalGetterName: string;
FgoalGetterName_Specified: boolean;
// FgoalPenalty: Boolean;
// FgoalOwnGoal: Boolean;
// FgoalOvertime: Boolean;
FgoalComment: string;
FgoalComment_Specified: boolean;
procedure SetgoalGetterName(Index: Integer; const Astring: string);
function goalGetterName_Specified(Index: Integer): boolean;
procedure SetgoalComment(Index: Integer; const Astring: string);
function goalComment_Specified(Index: Integer): boolean;
published
property goalID: Integer read FgoalID write FgoalID;
property goalMachID: Integer Index (IS_NLBL) read FgoalMachID write FgoalMachID;
property goalScoreTeam1: Integer Index (IS_NLBL) read FgoalScoreTeam1 write FgoalScoreTeam1;
property goalScoreTeam2: Integer Index (IS_NLBL) read FgoalScoreTeam2 write FgoalScoreTeam2;
property goalMatchMinute: Integer Index (IS_NLBL) read FgoalMatchMinute write FgoalMatchMinute;
property goalGetterID: Integer read FgoalGetterID write FgoalGetterID;
property goalGetterName: string Index (IS_OPTN) read FgoalGetterName write SetgoalGetterName stored goalGetterName_Specified;
// property goalPenalty: Boolean Index (IS_NLBL) read FgoalPenalty write FgoalPenalty;
// property goalOwnGoal: Boolean Index (IS_NLBL) read FgoalOwnGoal write FgoalOwnGoal;
// property goalOvertime: Boolean Index (IS_NLBL) read FgoalOvertime write FgoalOvertime;
property goalComment: string Index (IS_OPTN) read FgoalComment write SetgoalComment stored goalComment_Specified;
end;
Ich habe den Code wie oben beschrieben angepasst und nun funktioniert es.
Allerdings habe ich keine Ahnung warum das so ist.
Aber ich habe jetzt andere Probleme. Ich habe das Programm jetzt soweit, dass es die Daten per "SportsdataSoap" aus dem Netz zieht und ich es in eine SQLite-Datenbank schreibe. Allerdings möchte ich nun meine Clientdatasets abfragen, bevor ich die Daten reinschreibe, ob diese bereits vorhanden sind. Aber ich bekomme bei beispielsweise folgendem Aufruf
Result := ClientDataSet_Result.Locate('ResultMatchID;ResultTypeID', VarArrayOf([AResultMatchID, AResultTypeID]), [loCaseInsensitive])
folgende Fehlermeldung:
"
Exception EDatabaseError in Modul Oddset_2.exe bei 00719ACF.
Der Typ von Feld 'ResultMatchID' wird nicht unterstützt."
Die Felder in meiner SQLite-Datenbank sind alle im Integer-Format angelegt.
Vielleicht hat ja einer eine Anregung für mich!!!