AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Fehler

Ein Thema von Cicaro · begonnen am 26. Aug 2011 · letzter Beitrag vom 26. Aug 2011
Antwort Antwort
Cicaro

Registriert seit: 9. Feb 2005
285 Beiträge
 
Delphi 7 Personal
 
#1

Delphi Fehler

  Alt 26. Aug 2011, 00:44
Also wenn ich in meinem derzeitigen Projekt eine Zeile mit einem Funktionsaufruf wiederhole (nur Parameter ändern sich), dann spuckt mir Delphi einen Fehler aus ...

Folgendes wird korrekt compiliert und ausgeführt:
Delphi-Quellcode:
  DrawPolyline(Copy(FVertices, 0, FPartCount));
// DrawPolyline(Copy(FVertices, FPartCount, FPartCount));
jedoch geändert in
Delphi-Quellcode:
  DrawPolyline(Copy(FVertices, 0, FPartCount));
  DrawPolyline(Copy(FVertices, FPartCount, FPartCount));
hat Delphi einen internen Fehler X865 (siehe Screenshots).

Weiß einer wie das zustande kommt ? Die 2 Zeilen sind selbsterklärend: ich übergebe an meine Funktion DrawPolyline ein Array, das ich mit Copy() aus einem anderen Array FVertices kopiert habe. Der Funktionsparameter hat keinen definierten Typ (also einfach "array of ..."). FPartCount ist ein Integer.

// edit: Übrigens: wenn ich FPartCount durch einen konstanten Wert ersetze, gibt's keinen Fehler. Wenn ich eine lokale int Variable als Kopie von FPartCount statt FPartCount benutze, kommt der Fehler wieder. Irgendwas stimmt mit dem Compiler nicht -.-

Also Ideen ? ^^
Miniaturansicht angehängter Grafiken
neue-bitmap.png   neue-bitmap-2-.png  

Geändert von Cicaro (26. Aug 2011 um 00:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von ehX
ehX

Registriert seit: 11. Aug 2011
Ort: Augsburg
55 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Delphi Fehler

  Alt 26. Aug 2011, 01:20
Den X865 habe ich schon öfters früher gelesen, das ist ein Bug, der nur in Delphi 7 auftritt und etwas mit der Code-Optimierung zu tun hat.
Tritt er auch auf, wenn du die Optimierung ausschaltest?
Wenn er dann weg ist, gibt es glaube ich einen Patch irgendwo für D7 (mal bei Emba nachfragen, ich glaube der Patch auf 7.1 behebt es...) oder du brauchst eine neuere (oder auch ältere) Delphi-Version....oder...du schaltest die Code-Optimierung für das Projekt generell aus, was aber nicht gerade optimal ist...

Edit:
In der QC steht "Fixed in Build 9.0.1761.24408", das wäre aber dann D2005. Heisst, der Bug wurde in D7 nicht behoben und es gibt auch keinen Patch...
Quelle: http://qc.embarcadero.com/wc/qcmain.aspx?rc=6119
Edit 2:
Ja ist wohl leider so, der Fehler wurde erst in D2005 gefixt: http://edn.embarcadero.com/article/32837

Was ich auch mal probieren würde, ist zwar ein blöder Workarond, aber vielleicht geht es ja: Leg eine zweite Int-variable als Pointer zu FPartcount an und dereferenziere sie in der Funktion anstatt Fpartcount direkt zu nehmen...oder wrappe das Copy() in einer externen Funktion...oder deklariere die Funktion als inline...vielleicht umschifft es ja den Bug...
Fin

Geändert von ehX (26. Aug 2011 um 01:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Delphi Fehler

  Alt 26. Aug 2011, 09:18
Mann müsste auc mitt {$...} Angabe die Codeoptimierung partiell abschalten können.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz