wxWindows im BCB
-
done.
-
Da dies vielleicht für andere auch von Interesse sein könnte, poste ich mal die Anleitung, wie man wxWindows in den BCB integriert. Habe den Link auf die Schnelle leider nicht mehr gefunden.
[EDIT] Vollzitat der Anleitung gelöscht. Siehe nächsten Beitrag [/EDIT]
-
hm,
irgendwie sthet der server und ich kann dein Beitrag nicht ändern.
ich hab ihn gefunden (den Link):Instructions
-
Hi,
bevor ich mir WxWindows runterlade, möchte ich mal frage ob schon jemand weiß ob man das wxWindows auch in den BCB4 einbinden kann? In der Anleitung steht ja nur was von BCB5 ?MfG
Alexander Sulfrian
-
Geht auch im BCB4
Hatte allerdings etwas mehr Arbeit damit, da ich die Anleitung erst hinterher gefunden hatte ....
-
darf ich das proggy auch mal sehen? dann weiss ich auch genauer wovon ihr sprecht, es interessiert mich auch!
danke im vorraus.
-
@gerd01:
So, die Mail müßte unterwegs sein. Könntest du dann mal berichten, ob sich der erstellte Code fehlerfrei kompilieren läßt und das Fenster auch ungefähr so aussieht, wie es sollte?
Danke!
-
ok, ich gebe zu ich habe da nicht sooooo die erfahrung, wie kann man diesen denn nun kompilieren?
ich nutze den bcb 5 standard.
eine frage zum code:
#ifdef __GNUG__ #pragma implementation "myApp.cpp" #endif // For compilers that support precompilation #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif #if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) #include "mondrian.xpm" #endif // Include private headers #include "myApp.h" //------------------------------------------------------------------------------ // wxForm //------------------------------------------------------------------------------ BEGIN_EVENT_TABLE(wxForm,wxFrame) EVT_MENU(ID_QUIT, wxForm::OnQuit) EVT_CLOSE(wxForm::OnCloseWindow) END_EVENT_TABLE() wxForm::wxForm( wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style ) : wxFrame( parent, id, title, position, size, style) { SetIcon(wxICON(mondrian)); SetBackgroundColour(wxColour(212,208,200)); //clBtnFace wxButton0=new wxButton(this,ID_WXBUTTON0,"wxButton0",wxPoint(111,54),wxSize(75,25)); wxButton1=new wxButton(this,ID_WXBUTTON1,"wxButton1",wxPoint(366,242),wxSize(75,25)); wxCheckBox0=new wxCheckBox(this,ID_WXCHECKBOX0,"wxCheckBox0",wxPoint(285,99),wxSize(97,17)); } void wxForm::OnQuit( wxCommandEvent &event ) { Close(true); } void wxForm::OnCloseWindow( wxCloseEvent &event ) { Destroy(); } //------------------------------------------------------------------------------ // MyApp //------------------------------------------------------------------------------ IMPLEMENT_APP(MyApp) MyApp::MyApp() { } bool MyApp::OnInit() { SetAppName("wxForm"); wxForm *frame = new wxForm( NULL,-1, "wxForm",wxPoint(220,120), wxSize(768,537)); frame->Show( TRUE ); return TRUE; } int MyApp::OnExit() { return 0; }
du deklarierst oben z.B.
wxButton0=new wxButton(....);
woher weiss der kompiler, das wxButton0 ein int pointer sein muss?
vielleicht ist die antwort so simpel, wie der code?!gruß gerd
-
Es werden immer 2 Dateien erstellt und in der myapp.h wird dann wxButton* wxButton0 stehen.
-
gerd01 schrieb:
ok, ich gebe zu ich habe da nicht sooooo die erfahrung, wie kann man diesen denn nun kompilieren?
Eine Möglichkeit wäre es, mit Makefiles zu arbeiten:
makefile.b32
WXDIR = $(WXWIN) TARGET=myApp OBJECTS = $(TARGET).obj !include $(WXDIR)\src\makeprog.b32
und dann in der Konsole:
make -f makefile.b32(Der Link zur Anleitung, wie man die Pfade setzt, wxWindows kompilert usw steht weiter oben)
-
Hi,
irgend was mache ich noch falsch!
Beim make -f makefile.b32 in %WXWIN%/scr/msw kommen folgende Fehlermeldungen:MAKE Version 5.2 Copyright (c) 1987, 1999 Inprise Corp. mkdir E:\wxWin\lib\msw Falsche MS-DOS-Version mkdir E:\wxWin\lib\msw\wx Falsche MS-DOS-Version del E:\wxWin\src\msw\wxw32d.cfg Falsche MS-DOS-Version cd E:\wxWin\include\wx\msw if not exist setup.h copy setup0.h setup.h Falsche MS-DOS-Version cd E:\wxWin\src\msw copy E:\wxWin\include\wx\msw\setup.h E:\wxWin\lib\msw\wx\setup.h Falsche MS-DOS-Version cd E:\wxWin\src\msw copy MAKE0001.@@@ E:\wxWin\src\msw\wxw32d.cfg Falsche MS-DOS-Version bcc32 @E:\wxWin\src\msw\wxw32d.cfg -c dummy.cpp Borland C++ 5.4 für Win32 Copyright (c) 1993, 1999 Inprise Corporation Fehler E2194: Datei 'E:\wxWin\src\msw\wxw32d.cfg' nicht gefunden
Was kann ich dagegen tun!
MfG
Alexander Sulfrian
PS: Mein OS ist WinXP!
-
Hmm, bist du genau nach der Anleitung vorgegangen?
Welche Version von wx?
Kann es sein, daß WinXP die Pfade wieder "vergessen" hat?
(also entweder autoexec.bat noch einmal ausführen oder die Pfade in die Path-Variable einfügen...)
-
Hi,
Version: 2.4.2
Genau nach Anleitung gemach!
Hab wx auf E:\wxwin\ installiert! Ist das normal, dass man auch die include pfade des bcc32 anpassen muss? Hab ich nämlich gemacht!Dieses "Falsche MS-DOS-Version" macht mich stutzig!
MfG
Alexander Sulfrian
-
Eigentlich müßte doch dieses set bccdir c:\programme\cbuilder5 reichen.
Und Spaces sind auch nicht im Pfadnamen?
Hab auch wxWindows 2.4.2 unter XP installiert und da sind diese Fehler nicht aufgetreten...
Sehr seltsam, besonders das mit der falschen DOS-Version.
-
Hilft dir http://www.pc-special.de/?idart=376 ?
-
Hi,
jetzt kommt ein anderer komischer Fehler:E:\wxWin\src\msw>make -f makefile.b32 MAKE Version 5.2 Copyright (c) 1987, 1999 Inprise Corp. mkdir E:\wxWin\lib\msw Fatal: Unable to execute command: mkdir E:\wxWin\src\msw>
???
Ich hab übrigens BCB4 (E:\Borland\CBuilder4\Bin) !
MfG
Alexander Sulfrian
-
Daran wird es wahrscheinlich nicht liegen, aber muß der Pfad nicht nur E:\Borland\CBuilder4 heißen?
-
hi,
ja meinte ich doch!
ich hab in autoexec.bat das hier stehen:set bccdir=E:\BORLAND\CBUILD~1
MfG
Alexander Sulfrian
-
Und set wxwin=E:\wxWin\ ? Hast du nicht noch vielleicht einen anderen Rechner zum testen da?
-
Hi,
ja hab ich auch, so: set WXWIN=E:\wxWinIch könnt mal unter WinME probieren! Weiß aber nicht ob ich da meinen BCB installiert habe!
MfG
Alexander Sulfrian