Показать сообщение отдельно
  #29  
Старый 05.11.2012, 02:08
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от helgboy
Уважаемый poli-smen, по-моему мы уже все запутались.
В структуре у меня все верно. Объяснять на пальцах долго, поэтому я взял вами же написанный пример и в exe добавил процедуру summa , а вызвал ее из dll .
Так вот вместо того чтоб выдать сообщение с удвоенным числом она выдает ноль...
Что-то я не увидел, чтобы dll-ка вызывала функцию summa из exe-шника. Я вижу только, что dll-ка подключает к себе тот же модуль (EXE_Unit1) который подключает себе и exe-шник. Итого получается, что exe-шник работает со своей копией EXE_Unit1.pas, а dll-ка со своей копией EXE_Unit1.pas. Естественно, что между этими модулями нет никакой связи. Одна копия этого модуля "вкомпилирована" в exe-шник, другая "вкомпилирована" в dll-ку. Поэтому когда dll-ка вызывает функцию summa, то она вызывает ту, которая внутри неё, а вовсе не внутри exe-шника.
Фух. Ну вроде понятно объяснил?
Ответить с цитированием