Страница 1 из 1

Как вызвать процедуру одного модуля из другого?

Добавлено: 13 июл 2006, 23:56
KurtCobain
У меня в модуле "Unit1" находится процедура "qwerty". Я начинаю вызывать ее из другого модуля ("Unit2"), но ничего не получается, хотя Unit1 использует Unit2, а Unit2 использует Unit1. DELPHI пишет: "Unit1 does not contain a member named "qwerty"". Помогите, плиз!

Добавлено: 14 июл 2006, 08:18
LAngel
Надо вынести определение функции в секцию интерфейс (выше implementation)

Код: Выделить всё

procedure something(param: Integer);

implementation

procedure something(param: Integer);
begin
...
end;

Добавлено: 14 июл 2006, 10:00
Duncon
А еще можно обратиться к модулю... Или uses Unit1

Добавлено: 14 июл 2006, 11:14
LAngel
Duncon, это естественно. просто по uses не будут видны функции, описанные ниже Imlementation

Добавлено: 14 июл 2006, 14:52
Duncon
Не объявленные естественно...

Добавлено: 14 июл 2006, 16:28
Eugie
Если модули друг на друга ссылаются, возможна еще проблема циклических ссылок. Т.е. когда в каждом из них в интерфейсной секции задана ссылка на другой. Решение простое: нужно разорвать цикл, переместив ссылку в секцию implementation (хотя бы в одном из модулей).

Добавлено: 14 июл 2006, 21:36
KurtCobain
Спасибо всем! KurtCobain