DarkStar |
Отправлено: 22.10.2004, 18:43 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
Привет всем.
Работаю со сканером. Все свои сообщения он передает через Handle моего окна, который я передаю в dll. Теперь вопрос. После того как я получаю некоторые сообщения от моей формы, с нею поступают и сообщения от сканера. далее в dll необходимо передавать некоторые параметры вместе с которыми необходимо передать и указатель на MSG (поступающие сообщения) мой компонент получен от TForm и через функция virtual void __fastcall WndProc(Messages::TMessage &Message);
я получаю приходящие сообщения. так вот, я получаю Messages::TMessage &, а мне надо передать *MSG. Как это сделать?
|
|
Gedeon |
Отправлено: 25.10.2004, 12:20 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
CODE |
__fastcall WndProc(Messages::TMessage &Message){
// че тут у Вас
FuncToDll(/*Ваши остальные параметры*/, &Message);
} |
|
|
DarkStar |
Отправлено: 25.10.2004, 21:02 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
Мне надо передать указатель не на структуру Messages::TMessage &, а на структуру MSG
CODE |
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;
| |
|
Gedeon |
Отправлено: 26.10.2004, 10:09 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Тогда вот так примерно
CODE |
void __fastcall TForm1::TestMsg(TMessage & Message)
{
tagMSG Test;
tagPoint pt;
Test.hwnd = Handle; // нужное окно
Test.message = Message.Msg;
Test.wParam = Message.WParam;
Test.lParam = Message.LParam;
Test.time = time(NULL);
//pt.x = 0;
//pt.y = 0;
Test.pt = pt;
}
//--------------------------------------------------------------------------- |
Параметры как-то можете по другому заполнить в зависимости от необходимости.
|
|