Variablenübergabe an einen Dialog
Um an einen Dialog Variablen zu übergeben, gibt es prinzipiell 2 Möglichkeiten:
- als Parameter: mit self.setParam('AB_ID', '120230200...'); und mit self.getParam('AB_ID');
- als lokale Variable: mit self.setLocalVariable('OB_ID', '120230200...'); und mit self.getLocalVariable('OB_ID');
procedure loadData;
var
aAB_ID : string;
aOB_ID : string;
TableArray : Variant;
begin
PageMain.ActivePage := SheetAllgemein;
TableArray := TableAbstimmung, TableInfo, TableTyp, TableObjektInfo, TableAbstimmungDetail;
aAB_ID := self.getParam('AB_ID');
if self.getLocalVariable('OB_ID') = null then
begin
g_OB_ID := '';
end else
begin
g_OB_ID := self.getLocalVariable('OB_ID');
end;
...
procedure editAbstimmung;
var
aDialog: TfrmDesignDialog;
begin
// Table ist aktiv und es gibt einen Datensatz
if TableAbstimmung.Active then
begin
if TableAbstimmung.recordcount > 0 then
begin
aDialog := TfrmDesignDialog(loadform('Abstimmung'));
aDialog.setParam('AB_ID', TableAbstimmung.FieldByName('AB_ID').AsString);
//aDialog.setParam('OB_ID', self.getParam('OB_ID') );
//aus der Tabelle nehmen!!
aDialog.setLocalVariable('OB_ID', TableAbstimmung.FieldByName('OB_ID').AsString);
try
if aDialog.showModal = mrOK then
begin
TableAbstimmung.refresh;
end;
finally
aDialog.release;
end;
end;
end;
end;
Nach oben