Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Как описать Везеде доступную процед

Автор: Shadow 31.08.2003 0:48

Пытаюсь поместиь ее сюда но чего-то
ошибку выдает может синтаксис неправильный
-------------------
как правильно надо
-------------------
хочу чтоб ета процедура было доступна всезде
даже между формами
---------------------
public
 Procedure HintVisib(Mess:String;Vis:Boolean);


 NamesLine,NamesFider,NamesDatBas:String;


 end;

Автор: trminator 31.08.2003 19:05

Создаю новый проект, в нем - две формы - 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.

Запускаю... оно скомпилировалось! И даже работает

Автор: Shadow 31.08.2003 19:24

:D
-=-=-
ПАсибо
-=-=-