Конференция "FreePascal" » Помогите разобраться с ошибкой [Win32]
 
  • L12 (13.08.07 23:04) [0]
    При создании окна вылазит ошибка с указанием на WS_POPUP. Пишу полноэкранное приложение и без POPUP никак...
    Убираю WS_POPUP всё начинает работать на не так как надо.

    Вот ошибка:
    Error: range check error while evaluating constants

    Версия FPC: 2.0.4

    Код:

    {$MODE OBJFPC}
    {$APPTYPE GUI}
    program template;

    uses Windows;

    var
      Wnd : Hwnd;
      Msg : TMsg;
      Wcs : PWndClassEx;

    function WindowProc(
                   Wndl : HWnd;
                   Msgl : Cardinal;
                   WParam, LParam: longint): longint; stdcall;

    begin
    result:=0;
    case Msgl of
           WM_DESTROY : PostQuitMessage(0)
           else result:=DefWindowProc(Wndl,Msgl,WParam,LParam)
           end
    end;

    begin
    Wcs:=New(PWndClassEx);
    Wcs^.cbSize:=SizeOf(TWndClassEx);
    Wcs^.style:=CS_DBLCLKS or CS_OWNDC or CS_HREDRAW or CS_VREDRAW;
    Wcs^.lpfnWndProc:=@WindowProc;
    Wcs^.cbClsExtra:=0;
    Wcs^.cbWndExtra:=0;
    Wcs^.hInstance:=HInstance;
    Wcs^.hIcon:=LoadIcon(0,IDI_ASTERISK);
    Wcs^.hbrBackground:=COLOR_BTNFACE;
    Wcs^.lpszMenuName:=nil;
    Wcs^.lpszClassName:='main_window';
    Wcs^.hIconSm:=0;
    RegisterClassEx(Wcs^);
    dispose(Wcs);

    Wnd:=CreateWindowEx(
                   WS_EX_APPWINDOW,
                   'main_window',
                   'Template',
                   WS_VISIBLE or WS_POPUP,
                   0,0,
                   200,300,
                   0,
                   0,
                   HInstance,
                   nil
                   );
    while GetMessage(Msg,0,0,0) do
           begin
           TranslateMessage(Msg);
           DispatchMessage(Msg);
           end;
    end.



    Зарание спасибо!
  • МистерТ (14.08.07 13:05) [1]
    Думаю WS_OVERLAPPED тебе больше подойдет.
 
Конференция "FreePascal" » Помогите разобраться с ошибкой [Win32]
Есть новые Нет новых   [118232   +30][b:0][p:0.001]