何をやろうとしていることは、それを行うためのより良い(しかし、まだ非常に良いではない)方法は、次のようになり、実行時に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でコードを書く方法を学ぶ必要があります。 –