- Код: Выделить всё
var
Root2FormControls: Array of TControl;
...
case db_form_text.Strings[i+1] of
'TLabeledEdit': begin
CRef := GetClass('TLabeledEdit');
if CRef <> nil then begin
Root2FormControls[j] := TLabeledEdit.Create(TabSheet3);
// Root2FormControls[j].EditLabel.Caption := db_form_text.Strings[i+2];
Root2FormControls[j].top := itop;
Root2FormControls[j].left := ileft;
Root2FormControls[j].width := iwidth;
Root2FormControls[j].Parent := TabSheet3;
Root2FormControls[j].Visible:=true;
itop := itop + Root2FormControls[j].Height + 5;
end else begin
ShowMessage('No GetClass for TLabeledEdit');
end;
end;
...
В таком виде программа работает и создаются EditBox-ы без Label.
Если раскомментировать
Root2FormControls[j].EditLabel.Caption := db_form_text.Strings[i+2];
- получаю ошибку компиляции
main.pas(273,54) Error: identifier idents no member "EditLabel"
Вопрос простой: как добавить Label к программно созданному TLabeledEdit?
Заранее спасибо за помощь.
Добавлено спустя 1 час 46 минут 59 секунд:
Та же самая беда с
- Код: Выделить всё
'TDBLookupComboBox': begin
Root2FormControlsLabels[j] := TLabel.Create(TabSheet3);
Root2FormControlsLabels[j].Caption := db_form_text.Strings[i+2];
Root2FormControlsLabels[j].top := itop;
Root2FormControlsLabels[j].left := ileft;
Root2FormControlsLabels[j].Parent := TabSheet3;
Root2FormControlsLabels[j].Visible:=true;
itop := itop + Root2FormControlsLabels[j].Height;
Root2FormControlsZQ[j] := TZQuery.Create(TabSheet3);
Root2FormControlsZQ[j].Connection := ZConnection1;
Root2FormControlsZQ[j].SQL.Clear;
Root2FormControlsZQ[j].SQL.Text := 'SELECT id, descr FROM `anns_references` WHERE (' + db_form_text.Strings[i+3] + ') ORDER BY sort, descr';
Root2FormControlsZQ[j].Active := true;
Root2FormControlsDS[j] := TDataSource.Create(Self);
Root2FormControlsDS[j].DataSet := Root2FormControlsZQ[j];
Root2FormControlsDS[j].Enabled := true;
CRef := GetClass('TDBLookupComboBox');
if CRef <> nil then begin
Root2FormControls[j] := TDBLookupComboBox.Create(TabSheet3);
Root2FormControls[j].top := itop;
Root2FormControls[j].left := ileft;
Root2FormControls[j].width := iwidth;
Root2FormControls[j].Parent := TabSheet3;
Root2FormControls[j].ListSource := Root2FormControlsDS[j];
Root2FormControls[j].ListField := 'descr';
Root2FormControls[j].KeyField := 'id';
Root2FormControls[j].Visible:=true;
itop := itop + Root2FormControls[j].Height + 5;
end else begin
ShowMessage('No GetClass for TDBLookupComboBox');
end;
end;
Root2FormControls[j].ListSource := Root2FormControlsDS[j];
Root2FormControls[j].ListField := 'descr';
Root2FormControls[j].KeyField := 'id';
main.pas(315,47) Error: identifier idents no member "ListSource"
main.pas(316,47) Error: identifier idents no member "ListField"
main.pas(317,47) Error: identifier idents no member "KeyField"