Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как сделать процедуру доступной из любого места 
:(
    Опции темы
BLACK_KOT
Дата 3.6.2010, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.12.2006

Репутация: нет
Всего: -1



как сделать процедуру доступной из любого места программы? процедуру приходится размещать выше места, где она используется. это неудобно. как её правильно обявить? пишу на винапи.
Код

program BLACK_KOT;

uses
  Messages,
  Windows;


{$R 1.res}

var   //объявление глобальных переменных
...

//далее идут процедуры
...

begin
...
end.

напишите куда и что добавить конкретно, пожалуйсто


--------------------
                       .. я - демо версия Бога от Microsoft..
PM MAIL   Вверх
Coder
Дата 3.6.2010, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 2
Всего: 11



объявить и закодировать процедуру в отдельном модуле

Это сообщение отредактировал(а) Coder - 3.6.2010, 07:06
PM MAIL   Вверх
BLACK_KOT
Дата 3.6.2010, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.12.2006

Репутация: нет
Всего: -1



тоесть это не я такой тупой, иначе как без экспорта процедуры не обойтись?


--------------------
                       .. я - демо версия Бога от Microsoft..
PM MAIL   Вверх
Proxin
Дата 3.6.2010, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 21.6.2008

Репутация: 1
Всего: 3



угу. но можешь сделать и в основном модуле, сразу в начале реализаций. чем такой вариант не идёт?
PM MAIL   Вверх
pseud
Дата 3.6.2010, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Цитата(BLACK_KOT @  3.6.2010,  08:32 Найти цитируемый пост)
тоесть это не я такой тупой, иначе как без экспорта процедуры не обойтись? 

да, вызываемый метод должен быть объявлен выше.
как вариант (если очень хочется все оставить в одном модуле) можешь воспользоваться таким методом:
Код

program Project1;

{$R *.res}

type
  TMethods = object
    procedure DoSomething1;
    procedure DoSomething2;
  end;

{ TMethods }

procedure TMethods.DoSomething1;
begin
  DoSomething2;
end;

procedure TMethods.DoSomething2;
begin
  //
end;

var
  m: TMethods;
begin
  m.DoSomething1;
end.

1. методы можешь расположить в нужном тебе порядке.
2. объект TMethods можно не создавать, если разумно распорядишься обращением к процедурам.

P.S. Чтоб не бросали камнями, скажу, что это очень неправильный подход. Но как вариант он рабочий.


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0613 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.