RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Несколько вопросов по программированию в OS/2


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Илья Агафонов, 2:5030/1434.344
To : All
Subj : Несколько вопросов по программированию в OS/2

Доброго всем времени суток!

Пишется некая программка. Основным инструментом для её разработки является Virtual Pascal. Используется также OpenWatcom (об этом ниже). Возникло несколько проблем, связанных с разработкой.

1). У всех диалоговых окошек (находятся в ресурсах) фон окна становится почему-то белый, хотя в системе по умолчанию стоит, естественно, серый. Редактор ресурсов, если что, Universal Resource Editor (URE) v. 1.15 фикшенный. Там тоже всё прописано правильно. Также не прорисовывается рамка у окна (все стили окна стоят _правильные_). Внимание вопрос: в чём может быть дело? Это я что-то не так делаю или компилятор/редактор ресурсов? Привожу на всякий случай код обработки процедуры диалогового окна...

function FrmAboutProc(Wnd: HWnd; Msg: ULong; Mp1, Mp2: MParam): MResult; cdecl;
var
PS: HPS;
RC: RectL;
begin
Result := MResult(False);
case Msg of
WM_COMMAND:
begin
WinDismissDlg(Wnd, 0); //В окне только кнока OK.
Result := 0;
end;
WM_INITDLG: SetSysMenu(Wnd); //Удаляем из меню disabled-пункты.
WM_PAINT:
begin
PS := WinBeginPaint(Wnd, 0, nil);
GpiErase(PS);
WinFillRect(PS, RC, SYSCLR_WINDOW); //Это было поставлено, чтобы окно было цвета SYSCLR_WINDOW, но облом ;(
WinEndPaint(PS);
end;
else Result := WinDefDlgProc(Wnd, Msg, MP1, MP2);
end;
end;


...и его вызова, соответственно:

...

IDM_ABOUT:
begin
WinDlgBox(HWND_DESKTOP, FrmMain, FrmAboutProc, 0, FRM_ABOUT, nil);
WinInvalidateRegion(Wnd, NULLHANDLE, False);
end;

...

2). При создании в том же самом URE Line3D на диалоговой форме последняя вообще отказывается появляться на экране ;((( Почему?

3). В этой же самой программе используется библиотека компрессии ZLib. Бралась последняя версия (1.2.1) с официального сайта, затем компилировалась OpenWatcom'ом 1.2 (к счатью, проблем не возникло, только 1 warning был выдан в deflate.c). Получившиеся объектные файлы подключались к Virtual Pascal'у. Проблема в том, что последний на большинство из них (не на все) начинает ругаться вот таким образом:

Error 111. Invalid or unsupported object file record (file CRC32.OBJ offset 00000546)

У кого какие идеи?

Зарание благодарен за ответы.

С уважением,
Илья Агафонов.

Sun 08 Feb 2004 01:45 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.5) Gecko/2003101




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.