如果你正在嘗試做的是一個備忘錄在運行時添加到您的frmWelcome,一個更好的(但仍然不是很好)的方式來做到這一點會是這樣:
procedure SetHelpWelcome;
var
WelcomeMemo : TMemo;
begin
WelcomeMemo := TMemo.Create(frmWelcome);
WelcomeMemo.Parent := frmWelcome.MainPanelSourceEditor;
// set any other properties of WelcomeMemo here.
end;
這樣可以避免with
(如果您是初學者,您絕對不應該使用它),並且完全可以避免的FindComponent
可以通過指派WelcomeMemo
局部變量捕獲它,從而找到您不需要首先查找的內容。
但是,這仍然是一個相當簡單的做你想做的事。將WelcomeMemo
作爲表單的成員,並定義表單的一個方法來創建和初始化它,會更好。然後你可以調用你想用來創建它的按鈕的OnClick
處理程序。喜歡的東西(未經測試)
TfrmWelcome = Class(TForm)
private
fWelcomeMemo : TMemo;
procedure SetUpWelcomeMemo;
[...]
end;
procedure TfrmWelcome.SetUpWelcomeMemo;
begin
if fWelcomeMemo <> Nil then exit; // to avoid creating it more than once
fWelcomeMemo := TMemo.Create(Self);
fWelcomeMemo.Parent := Self.MainPanelSourceEditor;
// set any other properties of WelcomeMemo here.
end;
二話不說,這避免了備忘錄的老闆被設定爲特定TfrmWelcome實例frmWelcome
,這是一個等待發生,因爲它可能不是你實際上是想實例事故與...合作。
但是就像@J ..說的,如果你用自己喜歡的方式使用試錯法,你真的需要看一下初學者的教程。
_「我真的不知道這行代碼是幹什麼的,我只是把它放在那裏看它是否會起作用」,嗯,那可能是問題所在。 – Victoria
這段代碼完全是廢話。任何事情都沒有任何意義。扔掉它並從一些教程開始。 –
你的代碼*應該做什麼? FWIW,你向我們展示的代碼中很小的一點甚至都不是有效的語法。如果您編寫代碼,甚至不知道自己寫了什麼,那麼您需要停下腳步,在繼續之前學習如何使用Delphi編寫代碼。 –