//kdatabse.pas
type
TRestApiCall = class(TObject)
private
{ Private declarations }
public
{ Public declarations }
RestApiCallId: Integer;
tag:integer;
Method: string;
UrlString: string;
end;
function KDatabase.getARecordAtIndexInTableDatabase(index: integer;
tableNameCode: integer):TObject;
begin
case tableNameCode of
Const_RestApiCallTable :
begin
if(index=0)then
begin
aDataSource.DataSet.FindFirst;
end;
aRestApiCall.RestApiCallId := aDataSource.DataSet.Fields[0].AsInteger;// .AsString ;
aRestApiCall.tag := aDataSource.DataSet.Fields[1].AsInteger;
aRestApiCall.Method := aDataSource.DataSet.Fields[2].AsString;
aRestApiCall.UrlString := aDataSource.DataSet.Fields[3].AsString;
aDataSource.DataSet.Findnext;
result:=aRestApiCall;
end ;
else
begin
end;
end;
end;
//mainform
procedure TmainForm.FormCreate(Sender: TObject);
var
I,n: integer;
aRestApiCall:TRestApiCall;
b:Tobject;
begin
appDelegate := TappDelegate.Create();
appDelegate.db :=kdatabase.Create( );
appDelegate.db.openDatabase('data.dat');
appDelegate.db.executeSQLString('select * from RestApiCall');
n:=appDelegate.db.getCountOfResultArrayDatabase;
b:=appDelegate.db.getARecordAtIndexInTableDatabase(0, Const_RestApiCallTable );//everything is ok
aRestApiCall:= TRestApiCall( b ) ;//this step: Forced type conversion reports error and show as below