Вверх ↑
Ответов: 2125
Рейтинг: 159
#1: 2008-05-13 17:23:42 ЛС | профиль | цитата
nesco писал(а):
для обмена сообщениями между своими приложениями

Собственно, DDE это оно и есть

nesco писал(а):
приаттачить к нему обработчик с выводом данных наружу

Нужно только помнить, что у двух приложений разные адресные пространства, и передавать можно максимум два числа wParam и lParam, а указатели на данные - нельзя.

nesco писал(а):
простенький код завалялся по созданию пустых окон

Сначала нужно ответить на вопрос: какое окно нужно child или overlapped?
Control-ы, как я понимаю, в любом случае child, а в твоём случае для начала будут посылаться broadcast-cooбщения, которые обрабатывают окна, не имеющие родителя (то есть принадлежат desktop-у).

nesco писал(а):
Попробовал на CreateWindow, но нифига не получилось создать окно

Странно.
Add(MainForm,3118620,21,105)
{
Left=20
Top=105
link(onCreate,990011:doCreate,[])
}
Add(InlineCode,990011,91,119)
{
WorkPoints=#8:doCreate|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|17: FWnd:THandle;|4: |9: public|48: procedure doCreate(var dt:TData; idx:word);|5: end;|0:|14:implementation|0:|31:procedure THiAsmClass.doCreate;|5:begin|125: FWnd := CreateWindow('MyWindow','Hello, World!',WS_OVERLAPPEDWINDOW or WS_VISIBLE, 100,100, 200,100, 0, 0, hInstance, nil);|4:end;|0:|83:function MyWndProc(wnd:THandle; wMsg:cardinal; wParam,lParam:DWORD):DWORD; stdcall;|5:begin|50: Result := DefWindowProc(wnd,wMsg,wParam,lParam);|4:end;|0:|29:var MyWindowClass: TWndClass;|0:|14:initialization|0:|50: MyWindowClass.style := CS_HREDRAW or CS_VREDRAW;|42: MyWindowClass.lpfnWndProc := @MyWndProc;|32: MyWindowClass.cbClsExtra := 0;|32: MyWindowClass.cbWndExtra := 0;|39: MyWindowClass.hInstance := hInstance;|27: MyWindowClass.hIcon := 0;|52: MyWindowClass.hCursor := LoadCursor(0, IDC_ARROW);|60: MyWindowClass.hbrBackground := GetStockObject(GRAY_BRUSH);|36: MyWindowClass.lpszMenuName := nil;|44: MyWindowClass.lpszClassName := 'MyWindow';|31: RegisterClass(MyWindowClass);|0:|4:end.|
}

карма: 1

0