AGB  ·  Datenschutz  ·  Impressum  







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

Seltsame Fehler in Delphi

Ein Thema von oXmoX · begonnen am 24. Jun 2005 · letzter Beitrag vom 16. Jul 2005
Antwort Antwort
Seite 3 von 4     123 4      
oXmoX

Registriert seit: 8. Jun 2005
85 Beiträge
 
#21

Re: Seltsame Fehler in Delphi

  Alt 29. Jun 2005, 13:53
Ok ...geht mit Windows.TBitmap oder Graphics.TBitmap ...habs verstanden


Edit: ...und war zu langsam
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

Re: Seltsame Fehler in Delphi

  Alt 29. Jun 2005, 14:50
Zitat von oXmoX:
Mit "seltsamen" Fehlern meine ich z.B. folgendes:
  • 1) Ich vertausche zwei Zeilen im Quellcode und plötzlich verschwindet irgendwo in einem TMainMenu ein Eintrag. Anstelle des Eintrags wird nur ein leeres Feld gezeichnet.
  • 2) Ich Rufe eine OpenCV-Routine zur Detektion von Punkten auf einem Schachbrett auf, doch es werden keine Punkte gefunden. Darauf entferne ich an ganz anderer Stelle im Programm einen TButton oder ein TPanel von der GUI und auf einmal kann die OpenCV-Routine alle Punkte finden ...im selben Bild! Der TButton bzw. das TPanel hat jedoch mit Sicherheit nichts mit dieser Funktion zu tun.
Ich könnte jetzt noch andere Fehler nennen. Das lasse ich aber, weil ich dazu weiter ausholen müsste und alle Fehler einen ähnlichen Charakter, wie die beiden obigen haben.
Solche "lustigen" Fehler können auch eine ganz andere Ursache haben.

mschaefer hat es eigentlich schon angesprochen.
Zitat von mschaefer:
also zunächstmal dürfen keine DCU´s gleichen Namens im Suchpfad sein Zwischendurch am besten mal alle löschen.
Ein weiterer Punkt ist, das Delphi eine eigene Logik hat festzustellen, ob eine *.pas kompiliert werden muss oder nicht. Es ist leicht Möglich, das Delphi "alte" *.dcu Dateien verwendet, und dadurch seltsame Fehler entstehen. Wenn er nun "merkt" Huch ich muss neu kompilieren, macht er es "richtig" Das kann eine "sinnlose" Änderung wie 2 Zeilen vertauschen sein.

Ich empfehle Dir deshalb für Dein Projekt folgende dinge zu beachten.
  1. lösche alle *.dcu Dateien die nicht zu Delphi gehören und zu denen zu *.pas Dateien hast.
    Tip: [Win+F] Dateisuche -> *.dcu suchen (Vor allem unit1.dcu, unit2.dcu, ... löschen)
  2. In den Projektoptionen unbedingt den Pfad für "Ausgabe für Units" aus ein Verzeichnis z.B. C:\TEMP\ProjektName\dcu
  3. In den Projektoptionen unbedingt den Pfad für Suchpfad möglichst klein halten am besten leer.
  4. Nach Änderung der Projektoptionen unbedingt das Projekt speichern.
  5. Dann Menü "Datei -> Alle schließen" ausführen und nochmals in die Projektoptionen gehen.
  6. In den Projektoptionen unbedingt den Pfad für "Ausgabe für Units" auf ein Verzeichnis z.B. C:\TEMP\ToBeDeleted\dcu
  7. In den Projektoptionen unbedingt den Pfad für Suchpfad leeren.
  8. In den Projektoptionen unbedingt bei [X] Vorgabe ankreuzen und OK drücken.
    Damit werden für alle Projekte die *.dcu Dateien in C:\Temp\ToBeDeleted\dcu geschrieben, mit Ausnahme derer, die Du umdefinierst (s.o.)
  9. Statt Compile unbedingt immer Build benutzen (Menü "Projekt -> Projekt1 erzeugen")
Wenn nun Probleme auftreten, kannst du einfach das dcu Verzeichnis löschen.

Damit sollten Deine Probleme erledigt sein.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
oXmoX

Registriert seit: 8. Jun 2005
85 Beiträge
 
#23

Re: Seltsame Fehler in Delphi

  Alt 29. Jun 2005, 16:13
Zitat von MaBuSE:
Damit sollten Deine Probleme erledigt sein.
Danke für die ausfühliche Antwort.

Z.Zt. sind die Fehler - als Folge eines kleinen Refactorings - sowieso nicht mehr vorhanden. Meine Klassen sind jetzt insgesamt etwas kleiner (vorher hatten einige Klassen locker über 1000 Zeilen), mein Heap ist sauber (dank MemProof) und die uses-Abschnitte enthalten keine unnötigen Referenzen (dank Icarus). Außerdem habe ich Abhängigkeiten, die ich nicht unbeding benötige entfernt (z.B. ein DirectX-Filter zum Skalieren des Bildes).
Wie gesagt: wenn ich den Umfang reduziere verschwinden die Fehler. Aber ich befürchte trotzdem, dass sie zurückkommen. Daher mache ich ja grad diese große Aufräumaktion.

Deine Vorschläge hab ich mir mal zu Herzen genommen. Meine dcu's landen jetzt in einem Sonderverzeichnis, dass regelmäßig gelöscht wird. Mal sehen ob's was bringt. Wenn ich Glück habe taucht der Fehler ja auch nicht wieder auf.

Gruß,
oXmoX
  Mit Zitat antworten Zitat
oXmoX

Registriert seit: 8. Jun 2005
85 Beiträge
 
#24

Re: Seltsame Fehler in Delphi

  Alt 30. Jun 2005, 11:31
...und noch eine Frage:

In einem Der C-Header-Files, die ich für Delphi umgesetzt habe steht die Zeile

Code:
#define IPL_DEPTH_SIGN 0x80000000
IPL_DEPTH_SIGN wird in den nachfolgenden Zeilen dann als "int" verwendet.
In meiner .pas Datei mache ich daraus...

Code:
const
  IPL_DEPTH_SIGN: Integer = $80000000;
...und bekomme vom Compiler die Warnung
"Konstantenausdruck verletzt untere Grenzen".
Mache ich was falsch? Sollte mich die Warnung kratzen?

Gruß,
oXmoX
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#25

Re: Seltsame Fehler in Delphi

  Alt 30. Jun 2005, 12:20
Integer($80000000) ist nicht gut - das high bit ist das Vorzeichen - du definierst da (-0) und das mag der Compiler wohl nicht. Geht nicht Cardinal?

marabu


oder DWORD...
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#26

Re: Seltsame Fehler in Delphi

  Alt 30. Jun 2005, 12:59
Zitat von oXmoX:
Code:
const
  IPL_DEPTH_SIGN: Integer = $80000000;
$80000000 ist kein portabler Integer-Ausdruck.
Laß den Typ ganz weg und entscheide bei der Verwendung ob ein Cast wirklich nötig ist.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#27

Re: Seltsame Fehler in Delphi

  Alt 30. Jun 2005, 13:00
Für eine neue Frage bitte einen neuen Thread erstellen. Das hier hat wohl nichts mehr mit deinem ursprünglichen Problem zu tun.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
oXmoX

Registriert seit: 8. Jun 2005
85 Beiträge
 
#28

Re: Seltsame Fehler in Delphi

  Alt 30. Jun 2005, 14:29
Zitat von marabu:
das high bit ist das Vorzeichen - du definierst da (-0)
Heißt das etwa $80000000 or 42 = -42?
Wenn dem so ist, dann brauche ich diese Konstante nicht wirklich.

@Luckie: Sorry, kommt nicht wieder vor

Edit: Hat $FFFF0000 eigentlich auch eine besondere Bedeutung? ...da schimpft der Compiler nämlich auch.

Edit2: Klar schimpft er da ...das high-bit ist ja auch wieder gesetzt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#29

Re: Seltsame Fehler in Delphi

  Alt 30. Jun 2005, 14:36
Zitat von oXmoX:
@Luckie: Sorry, kommt nicht wieder vor
Dann halt dich auch bitte dran und mach ein neues Topic auf!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
oXmoX

Registriert seit: 8. Jun 2005
85 Beiträge
 
#30

Re: Seltsame Fehler in Delphi

  Alt 16. Jul 2005, 10:56
O.K., ich schätze mein Problem hat sich erledigt. "Die Fehler" sind nun schon seit Wochen nicht mehr aufgetaucht und mein Programm ist fast fertig. Ich nehme an, es lag an einem Fehler bei der Speicherfreigabe eines Pointers (dank Memproof gefunden).

Nocheinmal vielen Dank an alle, die geholfen haben.

Gruß,
oXmoX
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 04:30 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