Показать сообщение отдельно
  #3  
Старый 11.03.2012, 01:33
meneo meneo вне форума
Прохожий
 
Регистрация: 10.03.2012
Сообщения: 6
Репутация: 10
По умолчанию

спасибо

начал делать и наткнулся на ошибку

в теле основной проги:


const
MY_MESSAGE = WM_USER + 4242;

procedure MessageReceiver(var msg: TMessage); message MY_MESSAGE;

procedure TMainMTCForm.MessageReceiver(var msg: TMessage);
var
txt: PChar;
begin
txt := PChar(msg.lParam);
msg.Result := 1;
ShowMessage(txt);
end;

в теле дллки:

const MY_MESSAGE = WM_USER + 4242;

var h:HWND; txt: string;
h := findwindow('TMainMTCForm', nil);
if h<>0 then
begin
//setwindowtext(h,'Окно By me')
txt := 'Hello World';
SendMessage(h, MY_MESSAGE, 0, DWORD(PChar(txt)));
end else
ShowMessage('fail');


выдает ошибку access violation.

при этом, если вместо SendMessage использую откомментированный setwindowtext, все работает.
Ответить с цитированием