Конференция "FreePascal" » Как избавиться от консольного окна ? [Win32]
 
  • Sphinx © (09.06.05 11:08) [0]
    Написал простую программку по выводу окошка, всё без проблем работает, но при старте отображается консольное окно, которое висит все время работы программы...
    В мануалах про это не нашел...
    Если есть статьи - отошлите к ним, если нет - то как от консоли избавиться ?
  • PVOzerski © (09.06.05 12:48) [1]
    {APPTYPE CONSOLE} в тексте или -WG в командной строке
  • PVOzerski © (09.06.05 12:57) [2]
    {$APPTYPE CONSOLE} - доллар забыл :)
  • Sphinx © (09.06.05 13:15) [3]
    Может я выразился неправильно ???

    У меня есть окошко написанное на WinAPI - Windows окно...

    вот код:
    program WinAPI;

    uses
     Windows;

    var
     WindowClass: TWndClass;
     Handle: THandle;
     msg: TMsg;

     wError : Word;
     CurrentError : LongWord;
     boolAppRun : Boolean;

    const
     cWindowClass = 'SimpleWindowClass';
     cWindowName = 'SimpleWindowName';

    function WindowProc(iHandle: THandle; iMSG: LongWord; wParam, lParam: LongInt): LongInt; stdcall;
    begin
     case iMSG of
       WM_DESTROY:   begin
                       PostQuitMessage(0);
                       WindowProc := 0;
                       Exit;
                     end;
     end;
     WindowProc := DefWindowProc(iHandle, iMSG, wParam, lParam);
    end;

    begin
     boolAppRun := True;
     with WindowClass do
       begin
         style         := CS_VREDRAW or CS_HREDRAW;                      
         lpfnWndProc   := @WindowProc;                                  
         cbClsExtra    := 0;                                            
         cbWndExtra    := 0;                                            
         hInstance     := hInstance;                                    
         hIcon         := LoadIcon(hInstance, MakeIntResource(0));  
         hCursor       := LoadCursor(0, IDC_ARROW);                      
         hbrBackground := $000000;                                      
         lpszMenuName  := nil;                                          
         lpszClassName := PChar(cWindowClass);                          
       end;

     wError := RegisterClass(WindowClass);

     if wError = 0 then
       begin
         CurrentError := GetLastError;
         boolAppRun := False;
       end;
     Handle := CreateWindowEx
                    (WS_EX_APPWINDOW,
                     PChar(cWindowClass),
                     PChar(cWindowName),
                     WS_OVERLAPPED,      
                     10,                
                     10,                
                     450,                
                     350,                
                     0,                  
                     0,                  
                     hInstance,          
                     nil);  
     if Handle = 0 then
       begin
         CurrentError := GetLastError;
         UnregisterClass(WindowClass.lpszClassName, hInstance);
         boolAppRun := False;
       end;
     ShowWindow(Handle, SW_SHOW);
     SetActiveWindow(Handle);
     UpdateWindow(Handle);
     while boolAppRun do
       begin
         boolAppRun := GetMessage(msg, 0, 0, 0);
         TranslateMessage(msg);
         DispatchMessage(msg);
       end;
     DestroyWindow(Handle);
     UnregisterClass(WindowClass.lpszClassName, hInstance);
    end.



    И у меня выводится два окна...одно Windows, второе консольно....
    Как убрать консольное....
    Компилятор FPC 2.0.0
  • Sphinx © (09.06.05 13:16) [4]
    >PVOzerski ©   (09.06.05 12:57) [2]
    По-моему это как раз включение консоли...в любом случае ни чего не изменилось :(
  • Thaddy (09.06.05 16:01) [5]
    It should be {$APPTYPE GUI}!
  • Sphinx © (09.06.05 16:22) [6]
    2 Thaddy Wery Thx !!! :)
  • PVOzerski © (09.06.05 17:12) [7]
    2Sphinx ©   (09.06.05 13:16) [4]
    2Thaddy   (09.06.05 16:01) [5]
    Точно, бывает же... :((( Вот что значит отвечать "между делом". Но вот насчет -WG - это я правильно написал :)
  • Thaddy (10.06.05 13:53) [8]
    My russian is still not very good ;) Console means same as gui?
  • PVOzerski © (10.06.05 17:19) [9]
    2Thaddy:
    I really tried to answer when I was too busy :( :)...
 
Конференция "FreePascal" » Как избавиться от консольного окна ? [Win32]
Есть новые Нет новых   [134455   +51][b:0][p:0.004]