Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2012, 01:18   #1
Kara1989
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 50
По умолчанию Процедуру с другой формы

Как можно вызвать процедуру с другой формы. Не хочется использовать dll...

Код во второй форме, где находится сама процедура, надо вызвать его в первой (именно procedure ShowMess):
Код:
unit UMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Vcl.StdCtrls;

type
  TForm2 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure ShowMess;
begin
  Application.MessageBox('Все успешно!!','Внимание',MB_OK);
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
ShowMess;
end;
end.
Kara1989 вне форума Ответить с цитированием
Старый 08.05.2012, 01:26   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

форма — это модуль, модули можно использовать:

Код:
uses
  UMain;
а чтобы ShowMess() была видна для других, её объявление следует поместить в разделе interface.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 08.05.2012, 01:34   #3
Kara1989
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 50
По умолчанию

Не получается что-то.
Может посмотрите? Выложил исходник...

Не получается что-то.
Может посмотрите? Выложил исходник...
Вложения
Тип файла: rar App.rar (249.9 Кб, 19 просмотров)

Последний раз редактировалось Stilet; 08.05.2012 в 07:49.
Kara1989 вне форума Ответить с цитированием
Старый 08.05.2012, 01:50   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

объявление процедур в разделе interface должно идти после uses, а не перед. Примерно так:


Код:
unit UMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm2 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

procedure ShowMess();

var
  Form2: TForm2;

implementation
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 08.05.2012, 02:03   #5
Kara1989
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 50
По умолчанию

Все, работает. Спасибо большое!
Kara1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов метода MDIChild формы из другой формы. Aiden Компоненты Delphi 7 28.04.2012 16:53
Не могу вызвать процедуру С ПАРАМЕТРАМИ из другой книги Danver Microsoft Office Excel 4 24.12.2010 12:34
Из DBGrid одной формы отразить в ListBox на другой формы VenZell БД в Delphi 2 28.05.2010 07:27
как выполнить одну процедуру в другой? betirsolt Общие вопросы Delphi 4 22.01.2010 02:24
Заполнение поле формы автоматически из другой формы!! Магомед Microsoft Office Access 8 28.07.2009 13:49