wxWindows im BCB



  • Übrigens gibt es auch ein wxWizard für den BCB6 😉

    hab den aber nicht ans laufen bekommen. Hab allerdings auch nicht lange probiert. -> keine Zeit.

    Wenns jemand hinkriegt so möge er bitte Bescheid sagen.

    <edit>
    Diskussion aus diesem Thread abgetrennt.
    -Jansen
    </edit>



  • Hab mal zum Spaß einen eigenen kleinen wxDesigner gebastelt (mit dem C++- Builder) und man sieht, wenn man den ausgespuckten Code kompiliert, kaum einen Unterschied (erst bei so Sachen wie wxGrid <=> TStringGrid fallen die Unterschiede deutlich auf)...



  • erzähl mehr ... 🙂



  • Wenn das ein ernstgemeintes "erzähl mehr" war 😮, könnte ich dir das Programm mal zum testen zuschicken (ist aber noch lange nicht fertig und wird es auch wahrscheinlich nie werden 🤡)



  • interessiert bin ich. Schick bitte zu.

    kannst du vielleicht noch etwas zu deinene Erfahrungen mit wxWindows berichten und so was zum Thema beitragen ?

    ...wxDesigner gebastelt (mit dem C++- Builder) und...

    wie hast du wxWindows auf dem BCB am laufen bekommen. BCB6 wehrt sich mit Händen und Füßen.



  • Bis jetzt funktioniert das so, daß der wxDesigner halt eine cpp- und eine h-Datei ausgibt, die ich dann in der Konsole kompiliere. wx in den BCB6 zu integrieren hat bei mir auch nicht so ganz geklappt...

    Ansonsten ist wx nach eine kurzen Eingewöhnungszeit gar nicht so schlimm. IMHO kann man sich am besten am Anfang mal die mitgelieferten Samples anschauen.



  • @AndreasW:
    Könntest du mir eben 'ne Mail schicken, damit ich weiß, wohin mit dem Programm... 🙂



  • 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


Anmelden zum Antworten