Habe nach langem suchen herausgefunden warum bei bestimmten bedingungen mein Programm nicht mehr richtig funktioniert. Füge ich zum beispiel in ein Window mehr als 3 Panels oder mehr als 2 Edit Felder ein dann funktioniert das Programm nicht mehr. Es läst sich zwar kompilieren aber die Funktion ist nicht mehr gegeben. Das Programm beachten keine if Anweisungen und vielleicht sogar noch andere sachen nicht mehr. Ich benutze den C++ Builder 5.0 Standard.
Ist das normal. Liegt das an der Version, oder mache ich was falsch. Vielleicht weis ja jemand was darüber. Danke schonmal im Voraus
bei mir war mal ähnliches, als mein system komplett abgestürzt war, hatte die shareware 6.0 den fehler: Änderungen wurden nicht compiliert, sämtlicher code nicht beachtet. Ich hab alles neu installiert, dann gings wieder
Bin jetzt dahinter gekommen. Ich vermute mal das der Builder bei zu oft kompillieren irgendwelche Daten(dlls oder sonstige) nicht Korrekt einbindet. Dies kann passieren wenn mann die Anwendung so kompiliert das es auf PCs ohne C++ laufen soll. Dazu muss man die Einstellungen unter Project->Options bei Linker "Use dynmic RTL" und bei Packages "Build with runtime packages" aktiviert. Sollte das Programm also mal nicht korrekt funktionieren einfach den aktuellen Zustand dieser Einstellungen ändern und neu kompilieren. Ich hab aber keine wirkliche Erklärung wieso das so ist.
Das Problem war nicht der Builder sondern das Programm selbst. Der Fehler sah wie folgt aus:
char *hostname; hostname = ComboBox2->Text.c_str;
c_str sollte den Inhalt der ComboBox in Char umwandeln. Das Problem war aber das der Compiler mal alle und mal nur ein Zeichen aus der Box umgewandelt hat und das Programm zwangsläufig falsch lief. Das Problem wurde so gelöst: