![]() |
AV in D6/D7 bei TurboD aber nicht
Hallo Leute,
mir ist ein mir aus meinem Wissenshorizont unbekannter und unerklärlicher Fehler über den Weg gelaufen! Ich helfe grad jemanden beim Programmieren eines Progs, bei dem RadioButtons in einem Array dynamisch erzeugt werden
Delphi-Quellcode:
Wenn ich das jetzt mit TurboDelphi kompiliere Funktioniert alles! Ausführen des Kompilats ohne Probleme!
for i:=1 to anzahl do
begin RadioB[i] :=Tradiobutton.Create(form1); RadioB[i].Parent:=form1; RadioB[i].Left := 7; RadioB[i].Top := 80 + (20 * i); RadioB[i].Width := 160; end; Wenn ich das Projekt allerdings mit Delphi6 oder Delphi7 kompiliere, dann werde ich mit Fehlermeldungen [AVs] übersät!!! Kennt jemand die Ursache? Wenn ja, woran liegt das und ist es möglich mit D6/D7 eine Ausführbare ohne AVs hinzukriegen??? Ich bekomm es einfach nicht in den Kopf rein :wall: dass das mit TurboDelphi keine AVs gibt und mit den anderen beiden Versionen schon... |
Re: AV in D6/D7 bei TurboD aber nicht
Delphi-Quellcode:
for i:=0 to anzahl-1 do
|
Re: AV in D6/D7 bei TurboD aber nicht
Ach ja... warum einfach machen wenns auch schwierig geht...
Das war wirklich ein totaler Denkfehler... ist mir jetzt auch völlig bewusst... Naja, dann Danke ich dir mal recht herzlich... Nur eine Frage bleibt für mich offen: Warum bzw. wieso (ist dasselbe, ich weis) kompensiert TurboDelphi diesen Fehler und kompiliert sogar richtig??? Anwenderfreundlichkeit hin oder her... ist es nicht eigentlich doof, dass ein Fehler hinter dem Rücken des Programmierers ausgeglichen wird, oder hat das andere Gründe (dass TD das einfach so hinnimmt)??? |
Re: AV in D6/D7 bei TurboD aber nicht
Also kompilieren sollten es die älteren Versionen ja auch. U.U passt TD die Grenzen an.
|
Re: AV in D6/D7 bei TurboD aber nicht
Zitat:
Zitat:
|
Re: AV in D6/D7 bei TurboD aber nicht
Zitat:
Ab BDS 2006 ist die Bereichüberprüfung nicht standardmäßig eingeschaltet. Deshalb kann man über die Arraygrenzen hinaus schreiben. Einzustellen unter Projekt|OPTIONEN Compiler In der Groupbox Laufzeitfehler bei Bereichsüberprüfung den Haken setzen und der alt bekannte Effekt ist wieder da. Man sollte sich das vielleicht als Standard hinterlegen. Hope it helps onlinekater |
Re: AV in D6/D7 bei TurboD aber nicht
Die Bereichsprüfung war schon in D4, D5, D6 und D7 nicht standardmässig eingeschaltet.
|
Re: AV in D6/D7 bei TurboD aber nicht
Onlinekater hat da Recht, aber das ist mir zu IDE-lastig/abhängig. :P
Deshalb kleiner Tip am Rande : setzte folgende Zeile in die betreffender Unit (und zwar direkt am Anfang) :
Delphi-Quellcode:
oder eben :
(*$R+*)
Delphi-Quellcode:
Dann ist es egal (zumindest für die gestellte Frage), welche Delphi-Version konkret verwendet wird, welcher Haken irgendwo in der IDE gesetzt oder nicht gesetzt ist usw. Beim DCC32 gehts sowieso nur so, bzw. nur mit CFG oder von Hand, aber der ist ja bei TurboDelphi sowieso nicht dabei.
(*$R-*)
|
Re: AV in D6/D7 bei TurboD aber nicht
Zitat:
|
Re: AV in D6/D7 bei TurboD aber nicht
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz