type
TMDIChildForm = class(TForm)
Edit1: TEdit;
private{ Private declarations }procedure ReadDataFromOtherMDIChildForm;
end;
var
MDIChildForm: TMDIChildForm;
implementation{$R *.DFM}uses
MainForm;
// Property FormStyle of this form is fsMDIForm procedure TMDIChildForm.ReadDataFromOtherMDIChildForm;
var
i: Integer;
DataFromOtherForm: string;
begin// Suppose you have created three different MDIChild forms of the same type, // each with the following caption: "aaa", "bbb", "ccc". // You are currently on form with caption "aaa" and want to read data // contained on form with caption "ccc". // You can find here the code, you have to use the "as" clause and // properties MDIChildCount and MDIChildren: // First you have to find where the form "ccc" is in memory; for i := 0 to MDIForm.MDIChildCount - 1 dobeginif (Pos("ccc", MDIForm.MDIChildren[i].Caption) 0) then
Break;
end;
// Check to see if the form is the last on MDIChildren array and // correct I variable if (i = MDIChildCount) then Dec(i);
// I variable contains the index of the form with caption "ccc" if (Pos("ccc", MDIForm.MDIChildren[i].Caption) 0) thenbegin// If the form with caption "ccc" exists then you access data and show it // The following line of code is very interesting, look at the "as" clause, // if you have different types of MDIChild forms, you simply change // the type of form after the "as" clause // The data you want is contained on Edit1.Text with (MDIForm.MDIChildren[I] as TMDIChildForm).Edit1 do
DataFromOtherForm := Text;
ShowMessage(DataFromOtherForm);
end;
end;
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Прочитать данные из другого дочернего окна", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!