wieder einmal wrappen...("read" fehler ohne kompiliermeldungen)
-
Blackhawk schrieb:
ich bin doch aufm Stack (Window win)??
so ja. aber in deinem obrigen bsp wolltest du einen pointer verwenden (der noch nicht allokiert worden war) und wenn du ihn erstellt hättest wäre das auf dem heap gewesen. deswegen die frage
-
Ich würde zu gern den jetzigen Code sehen, du auch miller_m?
-
MichaM. schrieb:
Ich würde zu gern den jetzigen Code sehen, du auch miller_m?
jep.
wann reg'st du dich? bzw. warum nicht?
-
miller_m schrieb:
wann reg'st du dich? bzw. warum nicht?
Ich bin auch reg. (MiC++ha), aber ich habe Hausverbot

Quatsch, ich arbeite gerade an ein bestimmtes Projekt wo es um Cookies, Sessions, Sicherheit etc. geht. Ich müßte mich praktisch für jedes Posting einloggen, das wäre lästig.
-
MichaM. schrieb:
ich arbeite gerade an ein bestimmtes Projekt wo es um Cookies, Sessions, Sicherheit etc. geht. Ich müßte mich praktisch für jedes Posting einloggen, das wäre lästig.
stimmt wär mir auch zuwider.
-
am normalen code vom wrapper hat sich nichts geändert, nur beim aufruf. eben mit dem heap->stack. aber bitte..

#include <windows.h> #include "wrapper.h" int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int iCmdShow) { Window win; win.szAppTitle="Ein Test :P"; win.Initialize(hInstance,iCmdShow); return win.Loop(); }wenn man das so wie es ist mit -mwindows und wrapper.cpp mitlinkt dann gehts.
(ich hab jetzt die klasse & deklaration getrennt, wie sichs gehört^^)
wolltet ihr den wrapper haben?hier mal die .h
#include <windows.h> class Window { private: HWND hWnd; PAINTSTRUCT ps; HDC hdc; MSG msg; public: LPCSTR szAppName; LPCSTR szAppTitle; Window(); ~Window(); void Initialize(HINSTANCE hInstance,int iCmdShow); int Loop(); };
-
Blackhawk schrieb:
wolltet ihr den wrapper haben?

Willst du den haben:
(Ich sagte ja ich mach mal ein Tut.)/******************************************************************/ /** **/ /** WinAPI - Windows/Controls Wrapper Vorlage **/ /** File: wrapper.h **/ /** Designed für Blackhawk **/ /** **/ /******************************************************************/ #ifndef WRAPPER_H #define WRAPPER_H #include <windows.h> /******************************************************************/ /** Alle Klassen etc. steht ein kleines 'w' vor. **/ /******************************************************************/ /*:::::: Als erstes machen wir unsere Basis Klasse dem Compiler bekannt */ class wBasisControl; /*:::::: Wir brauchen paar Konstanten um zu sehen welcher Controltype gefragt ist */ const int wMasterWindow = 1; const int wOwnerWindow = 2; const int wChildWindow = 3; const int wStandardControl = 4; /*:::::: Nun werden wir einige Typen definieren um Funktionszeiger zu speichern für die Events */ typedef void (*wMouseEvent)(wBasisControl*, int, int, WPARAM); /* void(Object,X,Y,Key_Flags) */ typedef void (*wKeyEvent) (wBasisControl*, int, LPARAM); /* void(Object,Virtual_Key,Key_Data) */ typedef void (*wEvent) (wBasisControl*); /* void(Object) für Events ohne Parameter */ typedef void (*wProcEvent) (wBasisControl*, UINT, LPARAM, WPARAM); /* für sonstige Events mit Parameter */ /*:::::: DIE STATIC GLOBALE WndProc für alle Klassen, hier declardiert */ static LRESULT CALLBACK wBasisWndProc (HWND, UINT, WPARAM, LPARAM); /*:::::: Um einen besseren Überblick zu erhalten, stecken wir die Getter und Setter Funktionen in Klassen */ /*:::::: Die Getter Klasse "->Get->Funktion" */ class wGetter { private: wBasisControl* obj; /* hier einen Zeiger für die Controlklasse */ public: wGetter(wBasisControl*); ~wGetter() {} LPCSTR Caption(); int Width(); int Height(); int Top(); int Left(); long Style(); long StyleEx(); /* weitere könnt ihr dann ergänzen, bzw. in abgeleiteten Klassen ergänzen für diverse Controls */ }; /*:::::: Nun folgt der entsp. Setter, auch diesen dann Ergänzen */ class wSetter { private: wBasisControl* obj; /* wieder der Zeiger zur Controlklasse */ public: wSetter(wBasisControl*); ~wSetter() {} void Caption(LPCSTR); void Width(int); void Height(int); void Top(int); void Left(int); void Style(long); void StyleEx(long); }; /*:::::: Jetzt gehts rund, es folgt die BasisKlasse: */ class wBasisControl { protected: int ClassType; HWND Handle; HWND Parent; HINSTANCE HInstance; long UserData; WNDPROC DefaultWndProc; /* Hier wird sicher noch was folgen, wenn ihr es erweitert */ public: wBasisControl(); wGetter* Get; wSetter* Set; HWND GET_Handle(); HWND GET_Parent(); HINSTANCE GET_Instance(); long GET_UserData(); void SET_UserData(long); int GET_ClassType(); WNDPROC GET_DefaultWndProc(); virtual ~wBasisControl(); wMouseEvent OnMouseMove; wMouseEvent OnMouseDown; wMouseEvent OnMouseUp; wMouseEvent OnDoubleClick; wKeyEvent OnKeyDown; wKeyEvent OnKeyUp; wProcEvent OnMessage; wEvent OnCreate; /* Nah, hier werdet ihr sicherlich noch einiges rein pusten, aber dann auch Basisproc erweitern */ }; /*:::::: Soooo, nun kommt unser erstes Control, das Window ;-) */ class wWindow : public wBasisControl { private: bool isWindow; /* somethink */ public: HWND FastWindowCreate(HINSTANCE, HWND, int, int, LPCSTR, int); /* Hinst.,ParentHandle, width, height, titel,classtype */ ~wWindow(); /* Hier könnt ihr euch dann austoben */ }; class wButton : public wBasisControl { private: bool isButton; public: HWND InitButton(HWND, int, int, int, int, LPCSTR); /* Handle,left,top,width,height,Caption */ ~wButton(); }; /****************************************************************************/ /** So, nun könnt ihr euch austoben und fleisig Controls in Klassen packen **/ /****************************************************************************/ #endifBin mit dem Tut. aber noch nicht fertig, muß ja auch noch was anderes machen
die cpp datei dazu ist aber fertig und funktionstüchtig, muß nur noch alles Überarbeitet werden.
-
häkchen an automatisch einloggen ?!
-
DjFishbone schrieb:
häkchen an automatisch einloggen ?!
Was meinst du damit?
-
Ist das ein "Tutorial" dafür wie man schlechte Wrapper schreibt?
-
rofl. schrieb:
Ist das ein "Tutorial" dafür wie man schlechte Wrapper schreibt?
Ja, genau, gut eraten (erkannt ehr weniger)
-
MichaM. schrieb:
rofl. schrieb:
Ist das ein "Tutorial" dafür wie man schlechte Wrapper schreibt?
Ja, genau, gut eraten (erkannt ehr weniger)
War nicht schwer zu erkennen.

-
dann gib mal deinen her...
-
hab ich gesagt das ich einen habe?

-
eben.. also mach dus mal

-
ok mach ich
