Страница 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