Создаю новый проект, в нем - две формы - Form1 Form2. На каждой форме - по кнопочке. В описании класса TForm1 добавляю процедуру DoSomething, которую попытаюсь вызвать из 2-й формы
Unit1 (В нем описана 1-я форма)
Код
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
public
procedure DoSomething(const s: string);
end;
var
Form1: TForm1;
implementation uses unit2;
{$R *.DFM}
procedure TForm1.DoSomething(const s: string);
begin
ShowMessage(s);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.Show;
end;
end.
Unit2 - вторая форма
Код
unit Unit2;
interface uses Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, unit1, StdCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form2: TForm2;
implementation
{$R *.DFM}
procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.DoSomething('works');
end;
end.
Запускаю... оно скомпилировалось! И даже работает