[Pas2js] How to pass an unknown record to a function as argument?
warleyalex
warleyalex at yahoo.com.br
Mon Jun 15 14:49:46 CEST 2020
I use the record structure to map to a table and store/retrieve the data.
type
TViewsRecord = record
Category : string;
date : string;
end;
function JSON2TViewsRecord(const Value: TJSObject): TViewsRecord;
begin
result.Category := string(Value['Category']);
result.date := string(Value['date']);
end;
function TViewsRecord2JSON(const Value: TViewsRecord): TJSObject;
begin
result := TJSObject.New;
result['Category'] := Value.Category;
result['date'] := Value.date;
end;
-----
------------
...this definition external class
type
JRec = record
end;
TProcColumnNameParams = procedure(columnName: @record);
Of course this not work, I want to write a function and allow the user of
the function to pass a record
that I do not know in advance.
Then, the idea is to show the columnNames (code autocompletion) of an
unknown DB table.
How to pass an unknown record to a function as argument?
(...)
procedure each(sql: String; callback: TProcColumnNameParams; doneProc:
TProcColumnName); overload;
--------------
Something like to use this:
localDB.each('SELECT date FROM views ORDER BY date ASC',
procedure(columnName: TViewsRecord)
begin
console.log(columnName.Category);
console.log(columnName.date);
end,
procedure()
begin
console.log('done');
end);
and so on... // without overloading the external class definition
localDB.each('SELECT * FROM album', procedure(columnName: TAlbumRecord)
begin
console.log(columnName.Nome);
console.log(columnName.CPF);
end,
procedure()
begin
end);
--
Sent from: http://pas2js.38893.n8.nabble.com/
More information about the Pas2js
mailing list