wxWindows im BCB



  • 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.





  • 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:\wxWin

    Ich könnt mal unter WinME probieren! Weiß aber nicht ob ich da meinen BCB installiert habe!

    MfG

    Alexander Sulfrian



  • Hi,
    also auf XP funktioniert es jetzt auch! Er hatt immer die cmd von ME gestartet! Irgendwie schient %systempath% falsch gesetzt zu sein! Jetzt mit der cmd von XP funktionert es! Jedenfalls die lib!

    Wenn ich jetzt die samples compilieren will, kommt folgende Meldung:

    E:\wxWin\samples\controls>make -f makefile.b32
    MAKE Version 5.2  Copyright (c) 1987, 1999 Inprise Corp.
            ilink32 /v /c /aa -L"E:\wxWin\lib;E:\wxWin\contrib\lib;E:\BORLAND\CBUILD
    ~1\BIN\..\lib;E:\BORLAND\CBUILD~1\BIN\..\lib\psdk"  @MAKE0000.@@@
    Turbo Incremental Link 4.00 Copyright (c) 1997, 1999 Inprise Corporation
    Fatal: Error detected (LME272)
    Fatal: Error detected (LME340)
    Warning: Failed to create state file E:/wxWin/samples/controls/controls.ils (err
    or code 0)
    Warning: Unable to perform incremental link - performing full link...
    Fatal: Error detected (LME272)
    Fatal: Error detected (LME340)
    Warning: Failed to create state file E:/wxWin/samples/controls/controls.ils (err
    or code 0)
    
    ** error 2 ** deleting controls.exe
    

    Weiß einer weite?

    Danke

    Alexander Sulfrian



  • Hi,
    jetzt kommt es noch besser:

    UNTER WINDOWS ME FUNKTIONIERT ALLES!!!!!

    Aber ich will nicht immer WinMe starten um programme zu erstellen! Also wie bekomme ich das unter win XP hin? Hat jemand Erfahrung?

    MfG

    Alexander Sulfrian


Anmelden zum Antworten