Показать сообщение отдельно
  #5  
Старый 06.12.2010, 19:51
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Примерно так:
Код:
//================================================               
//Модуль-1                    
type
  TMDIChild = class(TForm) //дочернее окно
  ...      
  public
    fFileName  : string;
  ...      
  end;
//================================================                                                                                                                                                                      
  

//================================================                                                                                                                                                                      
//Модуль-2                      
  type
  TMainForm = class(TForm)
  ...      
  private
  ...      
    procedure CreateMDIChild(const FileName: string); //Метод создания дочернего окна                                                                              
  end;
    
    
procedure TMainForm.CreateMDIChild(const FileName: string);
//Метод создания дочернего окна  
var
  Child: TMDIChild;
begin
  { create a new MDI child window }
  Child := TMDIChild.Create(Application);
  Application.ProcessMessages;
  ...      
  Child.fFileName := FileName;
  if FileExists(FileName) then begin
     Child.Caption := ExtractFileName(FileName);
  end
  else begin
     Child.Caption := FileName+'  - файл НЕ найден';
  end;            
  ...      
end;


//Кликнули по менюшке "Выбрать файл" (или что-то вроде этого)                                                                                                                         
procedure TMainForm.FileNew1Execute(Sender: TObject);
begin
  if OpenDialog1.Execute then begin //нашли файл (текстовый)                                                     
     CreateMDIChild(IntToStr(MDIChildCount+1)+'. '+OpenDialog1.FileName); //создали дочернее окно                                                     
     if ActiveMDIChild<>NIL then begin //проверили, что мы его создали и оно активно                                                                                                       
        if (ActiveMDIChild is TMDIChild) then begin //смотрим - это точно оно (дочерние окна могут ведь быть разные)                                                                                                              
           //----------------------------------------                                                                                               
           //Здесь делаем что-то еще, если надо                                                                                        
           (ActiveMDIChild as TMDIChild).Memo1.LoadFromFile(OpenDialog1.FileName); //загружаем текстовый файл в Memo1                                                                           
           ...                                    
           //----------------------------------------                                                                                               
        end;
     end;
  end;
end;

//================================================               
Ответить с цитированием