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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2012, 16:38   #1
kot275
Новичок
Джуниор
 
Регистрация: 22.08.2012
Сообщений: 2
По умолчанию Научите правильно описывать процедуру.

Научите правильно описывать процедуру.
Доброе время суток. Научите правильно описать процедуру, а то что-то я сосем запутался.
Для примера, вот я засел на одной. Есть дата модуль(не визуальная форма), на нем размещен не визуальный компонент для подключения к базе данных. Хочу теперь в дата модуле описать свою процедуру. Как ее правильно описать? Как часть этого дата модуля — ДатаМодуль.МояПроцедура или просто МояПроцедура, но тогда к компоненту в моей процедуре мне приходится обращаться ДатаМодуль.Компонет что несколько неудобно.
Второй момент. Как правильно вызвать мою процедуру с другого модуля программы.
Спасибо
kot275 вне форума Ответить с цитированием
Старый 08.10.2012, 17:23   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
Как ее правильно описать? Как часть этого дата модуля — ДатаМодуль.МояПроцедура или просто МояПроцедура, но тогда к компоненту в моей процедуре мне приходится обращаться ДатаМодуль.Компонет что несколько неудобно.
процедура работает с компонентами(данными) формы(дата модуля), следовательно это должен быть метод формы(дата модуля).
Цитата:
правильно описать? Как часть этого дата модуля — ДатаМодуль.МояПроцедура
Код:
TMyDM =class(TDataModule)
... 
  mycomponent: .....
public 
  procedure MyProc(....);
.....
end;

procedure TMyDM.MyProc(......);
begin
  .............
  mycomponent. //обращение к компоненту 
end;
Цитата:
Второй момент. Как правильно вызвать мою процедуру с другого модуля программы.
1. в Дата модуле объявлять процедуру(метод) в разделе public (смотри пример выше)
2. там где хотим использовать. подключить модуль с помощью uses. Alt +F11 + выбрать нужный
3. обращаться надо не к процедуре,а к созданному объекту данного типа.

Код:
var dm: TMyDM;  //переменная для объекта данного типа (но еще не сам объект!)

dm:= TmyDm.Create(..);// создали объект
dm.myProc(); // обращение к процедуре внутри объекта
При использовании автосоздания объектов. что делает Delphi по умолчанию, но очень не рекомендуется в больших программах.
создание не нужно(все создано автоматически, но в единственном экземпляре)
//var dm: TMyDM;

//dm:= TmyDm.Create(..);// создали объект
в качестве объекта берется автоматически генерируемая переменная из дата модуля
MyDM.myProc(); // обращение к процедуре внутри объекта
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 08.10.2012, 18:44   #3
kot275
Новичок
Джуниор
 
Регистрация: 22.08.2012
Сообщений: 2
По умолчанию

Спасибо. Вот на этом ошибался - procedure TMyDM.MyProc(......); писал просто procedure MyProc(......);
kot275 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно описать процедуру? Турбопаскаль. eduard.80@mail.ru Паскаль, Turbo Pascal, PascalABC.NET 10 15.12.2011 22:53
Научите плиз сайт правильно залить! CoCoS HTML и CSS 9 20.07.2009 10:01
Помогите правильно написать процедуру seasanya Microsoft Office Access 1 26.01.2009 22:02
Каким шаблоном лучше описывать деревья? Иллидан Общие вопросы C/C++ 2 16.10.2008 08:14
Как правильно написать процедуру Cold Went Компоненты Delphi 1 29.04.2008 14:21