下面的代碼是從http://wiki.freepascal.org/MySQLDatabases拉撒路表單創建
procedure TFormTryMySQL.OpenQueryButtonClick(Sender: TObject);
begin
ShowQueryForm := TShowQueryForm.Create(self);
ShowQueryForm.Datasource1.DataSet := SQLQuery1;
SQLQuery1.SQL.Text := CommandEdit.Text;
SQLQuery1.Open;
ShowQueryForm.ShowModal;
ShowQueryForm.Free;
SQLQuery1.Close;
end;
我是新來的拉撒路。有人可以請解釋行ShowQueryForm:= TShowQueryForm.Create(self);?我特別好奇:
- 爲什麼我們需要以編程方式創建窗體?
- 什麼是TShowQueryForm?
- 我的表單沒有T.爲什麼SQLQuery1 控件可以訪問新表單上的數據?
我很抱歉,如果這不是一個良好的措辭問題,但我很困惑在這裏:(
感謝
感謝您的解釋。最後一點是困惑我。我認爲這兩個表單包含一些對象(例如:數據源),並且這些對象應該是表單的私有對象。我對第二種形式如何簡單地分配第一種數據源感到困惑。 – itsols
designtime組件默認爲「發佈」,即「public」+「generate rtti」。這不是一個非常好的解決方案,(很好會使用datamodule),但也不是非常錯誤 –