Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Будет ли работать PostMessage из dll? [D7, WinXP]


Aleksandr. ©   (2005-05-24 17:51:00) 

в библиотечке слишком дофига получилось переменных типа функция, которым присваиваются из программы обработчики разных событий. Подумал, может, ну его нафиг все и через PostMessage главному окну программы посылать, да только можно ли такое делать - раньше о таком не слыхал...


Игорь Шевченко   (2005-05-25 10:29:00) [1]

Aleksandr.   (24.05.05 18:39) [7]

И все-таки, сдается мне, что ты здорово путаешь. Не тот механизм пытаешься использовать. Ты приведи для образца, что ты хочешь заменить передачей сообщения и каким образом.


Aleksandr.   (2005-05-24 18:39:00) [2]

Игорь Шевченко ©  :
В чем же разница? В использующей библиотеку программе по-любому нужно будет создавать методы, обрабатывающие все изменения и сообщения, так проще ведь им вешать (var Msg : TMessage); message  такая-то, чем гонять их адреса в dll. В смысле, кода меньше.


Игорь Шевченко   (2005-05-24 18:14:00) [3]

Aleksandr.   (24.05.05 18:08) [4]


> объявлять в библиотеке функцию, через которую можно назначить
> им функции программы, в библиотеке везде втыкать проверку,
> не nil ли нужная переменная и вызывать ее, а так большинство
> просто зарегистрировал сообщение и гоняй его с параметрами...


Сдается мне, что это совершенно разные вещи - сообщения и функции


Eraser   (2005-05-24 18:10:00) [4]

Aleksandr.   (24.05.05 18:08) [4]
просто зарегистрировал сообщение и гоняй его с параметрами...


Сомительное приемущество.


Aleksandr.   (2005-05-24 18:08:00) [5]

Игорь Шевченко © :

Ну как же зачем. Приходится объявлять кучу переменных типа:


var
 vSesDllLog          : procedure(Msg : shortstring);
 vTCPOnError         : function(iStatus : integer; pErrorStr : PChar) : longbool; stdcall;
 vTCPOnStatus        : function(iStatus : integer) : longbool; stdcall;
 vTCPFileInfo        : function(pFileName : PChar; iPos, iSize, iStatus : integer) : longbool; stdcall;
 vTCPRASError        : function(pRASErrror : PChar) : longbool; stdcall;
 vSessionFinish      : function(const iIssue : integer=0) : longbool; stdcall;
 vTCPRASStatusChange : function(pRASMessage : PChar) : longbool; stdcall;

объявлять в библиотеке функцию, через которую можно назначить им функции программы, в библиотеке везде втыкать проверку, не nil ли нужная переменная и вызывать ее, а так большинство просто зарегистрировал сообщение и гоняй его с параметрами...


Игорь Шевченко   (2005-05-24 18:01:00) [6]


> Подумал, может, ну его нафиг все и через PostMessage главному
> окну программы посылать, да только можно ли такое делать
> - раньше о таком не слыхал...


А зачем ?


Marser   (2005-05-24 17:59:00) [7]

Я бы скорее засомневался, можнно ли SendMessage использовать...


alpet   (2005-05-24 17:55:00) [8]

Будет, этому нет никаких препятствий.


Наверх

Титульная страница Поиск, карта сайта Написать письмо