Frage zu Tutorial Beispiel
-
Hallo,
ich gucke mir gerade folgendes Tutorial an:http://pronix.linuxdelta.de/C/win32/win32_1.shtml#2
Da steht das ich den Source Code für das Fenster Compilieren soll aber wo muss da der Source Code rein o_O
Also ich hab mein Borland Builder 6 gestartet, dann hab auf Datei geklickt und dann auf Anwendung, dann kommt da ein Fenster das heisst Form das hat so einen grauen hintergrund mit ganz viele Punkten.
Dann hab ich da doppelklick drauf gemacht und dort stand dann folgendes.
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Label1Click(TObject *Sender) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Edit1Change(TObject *Sender) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { } //---------------------------------------------------------------------------Und hier ist der Source Code der laut dem Tutorial das leere Fenster erstellen soll.
#include <windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LPCSTR lpszAppName = "AppName"; LPCSTR lpszTitle = "Meine erste Applikation"; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { HWND hWnd; MSG msg; WNDCLASSEX wc; wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hCursor = LoadCursor(NULL,IDC_ARROW); wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszClassName = lpszAppName; wc.lpszMenuName = lpszAppName; wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); if( RegisterClassEx(&wc) == 0) return 0; hWnd = CreateWindowEx(NULL, lpszAppName, lpszTitle, WS_OVERLAPPEDWINDOW, 0, 0, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); if( hWnd == NULL) return 0; ShowWindow(hWnd, iCmdShow); UpdateWindow(hWnd); while (GetMessage(&msg, NULL, 0, 0) > 0) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd, UINT umsg, WPARAM wParam, LPARAM lParam) { switch (umsg) { case WM_DESTROY: { PostQuitMessage(0); return 0; } } return DefWindowProc(hWnd, umsg, wParam, lParam); }Aber wo muss der Source Code für das Fenster jetzt hin

-
Entscheide dich erst mal, ob du deine Anwendung mithilfe der VCL (also dem UI-Designer des C++Builder) oder direkt über das Windows-API machen willst. Der Tutorial-Code jedenfalls verwendet das Windows-API direkt und hat in einem VCL-Programm eigentlich nichts zu suchen.
Ein Programm ohne VCL erstellst du mit dem C++Builder über "Datei|Neu|Weitere...|Konsolen-Experte". Im daraufhin erscheinenden Dialog entfernst du das Häkchen bei "Konsolen-Anwendung" (und natürlich das bei "VCL verwenden").
-
ok thx

-
Ich hab diesen Source Code Compiliert aber da kommt immer die Fehlermeldung
Unresolved external'_Init'VCL'referenced from E:\BORLAND BUILDER 6\LIB\CP32MTI.LIB|crtlvcl
Unresolved external'_ExitVCL referenced from E:\BORLAND BUILDER 6\LIB\CP32MTI.LIB|crtlvcl
was bedeuten dise Fehlermeldungen
-
Hab schon den Fehler gefunden ich hatte aus versehen bei VLC einen Haken drin XD