#delphi
Вопрос:
Я запустил несколько экземпляров одной и той же формы, используя:
var myForms: TArraylt;TTestFormgt;; I: Integer; begin SetLength(myForms, 10); for I:= 0 to 1 do begin myForms[I] := TTestForm.Create(Application); // Application will free the forms on exit myForms[I].Caption:=inttostr(i); myForms[I].Show; end;
Но когда мне нужно изменить значение одной из форм от самой себя, она изменит значение корневой формы вместо самой себя.
Как будто я запускаю TestForm.Caption:='Test'
один из множества экземпляров формы, вместо того, чтобы изменять себя, он изменяет родительский экземпляр «TestForm».
Есть ли способ ссылаться на форму, из которой выполняется код? Например, вы всегда можете ссылаться на основную форму с помощью приложения.Основная форма.
Комментарии:
1. В методе формы просто напишите
Caption := 'Test'
, что то же самое, что и » Self.Подпись := «Тест»».2. Да, заменить
TestForm.
наSelf.
, или просто полностью опустить