[Bug?] C++ Builder übernimmt nicht immer meine Änderungen im Quelltext



  • Hallo, der C++ Builder compiliert meinen Quelltext nicht immer nachdem ich eine Änderung vorgenommen habe.

    Ich erkläre mal im Detail was ich da mache und wo jetzt genau das Problem liegt.

    1. Ich starten den C++ Builder ( Embarcadero® C++Builder 10.3 Version 26.0.34749.6593 , Ich verwende die Community Edition.)
    2. Datei-->Neu--->Konsolenanwendung - C++ Builder. Ich klicke auf OK.
    3. Ich schreibe den Quelltext:
    #pragma hdrstop
    #pragma argsused
    
    #ifdef _WIN32
    #include <tchar.h>
    #else
      typedef char _TCHAR;
      #define _tmain main
    #endif
    
    #include <iostream>
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	std::cout<<"test";
    	std::cin.get();
    	return 0;
    }
    
    
    1. Datei-->Projekt Speichern unter.
    2. Datei-->Speichern unter.
    3. Ich drücke F9 zum kompilieren und der Text test wird ausgegeben.
    4. Ich ändere den String "test" um z.b. in "haus".
    5. Datei-->Alles speichern
    6. Ich drücke wieder F9 und der Text test wird mir ausgegeben. Aber hier ist schon der Punkt wo der kompiler das Programm wieder mit dem Text test kompiliert anstatt mit dem Text haus.
    7. Ich klicke auf Datei-->Projekt speichern unter.
    8. Ich klicke wieder auf Datei und dann Speichern unter.
    9. Ich drücke F9 und erst jetzt wird mir der Text haus ausgegeben. Diese Vorgang muss ich manchmal 2-3 mal wiederholen bis endlich das kompiliert wird was ich auch geschrieben habe.

    Habt ihr auch das Problem? Oder mache ich irgendwas falsch?



  • Habe das mal nachgestellt. Auch bei mir ist es so. Schon komisch! Wenn ich eine VCL-Anwendung erstelle, werden die Änderungen immer sofort wirksam.

    Gruß
    Torsten



  • Tritt bei uns mit dem RAD Studio 10.1 Berlin Update 2 auch gelegentlich auf. Bei manchen Projekten häufiger als bei anderen, keine Ahnung, woran das liegt.
    Ich habe den Eindruck, dass das RAD Studio nicht merkt, dass eine Datei verändert wurde und übersetzt sie deswegen nicht neu. Du kannst in den Projekteinstellungen unter "Tools->Projektoptionen" im Knoten "Optionen für Autospeichern" den Haken für "Editordateien" setzen, vielleicht hilft das.
    Ansonsten mach´ ich häufiger ein "Build All" um sicherzustellen, dass alle Quelldateien neu übersetzt werden.



  • Thx Build all funktioniert gut.



  • Gerade mal getestet, mit RAD Studio 10.3 Professional Version 26.0.34749.6593 Update 2 funktioniert es, also wenn ich F9 drücke, werden die Änderungen compiliert und ausgegeben..



  • @Burkhi Glaub mir: Auch in 10.3.2 klappt das nicht immer...

    Ich glaube der größte Bug ist das nutzen vom C++ Builder 😂
    Ich möchte auch nur einmal erleben das eine neue Version keinen Rückschritt zur vorherigen bedeutet. Inzwischen dauert das einfügen und Speichern einer neuen Unit in unseren Projekt schon alleine 10-20 Sekunden. Ein anderes Teilprojekt auswählen kann schon mal 30-60s dauern. Und das Schließen des RAD Studios... jemand Lust auf eine Kaffeepause?



  • @asc Will ich nicht abstreiten, habs nur mal schnell getestet (übrigens hatte ich auch noch Twine Compile aktiviert, vlt. ist das die Ursache, das es jedesmal geklappt hat).

    Einen Fortschritt gab es bei der Code Completion, das es nun endlich im Hintergrund ausgeführt wird. Bedeutet aber keineswegs, dass es nun schneller ist, nur ist nun die IDE wenigstens nicht dauernd blockiert.

    Hast du das eigentlich auch: Beim Rad Studio 10.2.3 bekomme ich meist eine Exception beim Beenden, wenn zu viele Dateien geöffnet sind und manchmal wird in der cbproj was überschrieben, z.B. dateinamen, die dann beim nächsten Öffnen nicht mehr gefunden werden. Mein Workaround dazu ist, die IDE abzuschiessen und die cbproj.lokal Datei zu löschen.
    Mit 10.3.2 habe ich das noch nicht getestet.



  • @Burkhi sagte in [Bug?] C++ Builder übernimmt nicht immer meine Änderungen im Quelltext:

    @asc Will ich nicht abstreiten, habs nur mal schnell getestet (übrigens hatte ich auch noch Twine Compile aktiviert, vlt. ist das die Ursache, das es jedesmal geklappt hat).

    Twine Compile verwenden wir nicht mehr, seit es keinen Geschwindigkeitsvorteil mehr zu geben schein. Zudem führte TC immer auch mal zu kleineren Problemen (wobei die Anzahl im Verhältnis zu den Bugs des C++ Builders sehr gering war).

    Einen Fortschritt gab es bei der Code Completion, das es nun endlich im Hintergrund ausgeführt wird. Bedeutet aber keineswegs, dass es nun schneller ist, nur ist nun die IDE wenigstens nicht dauernd blockiert.

    Kann ich leider nicht bestätigen. Ich habe wieder alles deaktiviert aufgrund des Hängens (wie compilieren aber immer noch mit 32bit, vielleicht liegt es daran).

    Hast du das eigentlich auch: Beim Rad Studio 10.2.3 bekomme ich meist eine Exception beim Beenden, wenn zu viele Dateien geöffnet sind und manchmal wird in der cbproj was überschrieben, z.B. dateinamen, die dann beim nächsten Öffnen nicht mehr gefunden werden. Mein Workaround dazu ist, die IDE abzuschiessen und die cbproj.lokal Datei zu löschen.
    Mit 10.3.2 habe ich das noch nicht getestet.

    Die Exception beim Beenden bekomme ich unter dem 10.3.2 sogar häufiger, und nicht selten muss ich die Anwendung in dem Fall über den Taskmanager abschießen, sonst hängt die mehrere Minuten dumm herum.



  • @asc
    Nachdem ich ein etwas ausführlicheres Android Projekt angefangen habe, muss ich dir recht geben, die IDE hängt leider immer noch recht häufig bei der Code Completion.
    Für das Abschiessen der IDE hab ich mir im Totalcommander sogar extra eine Schaltfläche eingebaut, um die IDE abzuschiessen, falls sie mal wieder hängt. Sie ruft einfach eine Batchdatei mit diesen Inhalt auf:

    taskkill /F /IM bds.exe
    taskkill /F /IM mtbcc32ex.exe
    

Anmelden zum Antworten