AGB  ·  Datenschutz  ·  Impressum  







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

Programm-Absturz seit Delphi 11.2

Ein Thema von walterschmitt · begonnen am 6. Okt 2022 · letzter Beitrag vom 12. Okt 2022
Antwort Antwort
Seite 4 von 4   « Erste     234   
jziersch

Registriert seit: 9. Okt 2003
Ort: München
251 Beiträge
 
Delphi 10.4 Sydney
 
#31

AW: Programm-Absturz seit Delphi 11.2

  Alt 10. Okt 2022, 08:03
Bei mir zeigt die Speicheradresse der Variablen auf $FFFFFFFF930FFA58 und damit ins Nirvana.Sollte eigentlich $00000000930FFA58 sein.
Überprüfe mal alle Variablen die an die Komponente übergeben werden. Kein Zeiger darf Cardinal sein, sondern stattdessen ein IntPtr. In altem 32bit code finden sich manchmal noch Cardinals.
Der Crash ist dann abhängig vom System, Speicheraufbau etc.
WPCubed GmbH
Komponenten für Delphi:
WPTools, wPDF, WPViewPDF
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#32

AW: Programm-Absturz seit Delphi 11.2

  Alt 10. Okt 2022, 10:03
Zitat:
... IntPtr ... Cardinals ...
Oder gar Integer (31 Bit) mit Prüfungen auf < 0, drum ist IMAGE_FILE_LARGE_ADDRESS_ AWARE nicht standardmäßig aktiv.

UIntPtr
IntPtr
NativeUInt
NativeInt

und allgemein überall die richtigen Typen, wie z.B. LPARAM, WPARAM und LRESULT für SendMessage/PostMessage, anstatt Integer/Cardinal usw.
oder andersrum z.B. HRESULT statt Integer/Cardinal/Sonstwar für das aus GetLastError und Co.



Hier sieht es eher so aus, als wenn signed 32 Bit-Integer-Zeiger (nicht unsigned Cardinal) an einen 64 Bit-Integer übergeben/gecastet wird.
$9xxxxxxx hat das höchste Bit gesetzt, drum wird/bleibt das negaitv, also es werden auch alle 32 höheren Bits negativ.

In Bezug auf einen Integer->Int64 ist es vollkommen korrekt, dass es ab $800000000 zu $FFFFFFFF800000000 wird.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (10. Okt 2022 um 13:39 Uhr)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
702 Beiträge
 
Delphi 12 Athens
 
#33

AW: Programm-Absturz seit Delphi 11.2

  Alt 10. Okt 2022, 12:51
Habe doch ein Demoprogramm an den Hersteller geschickt.
Das Programm war ein Fenster mit nichts anderem als nur dieser Komponente.
Bei mir Crash, beim Hersteller läuft es.
Glaube langsam es liegt an meiner Windows-Installation.
Habe auch den Sourcecode und kenne die verantwortliche Codezeile.
Bei mir zeigt die Speicheradresse der Variablen auf $FFFFFFFF930FFA58 und damit ins Nirvana.
Sollte eigentlich $00000000930FFA58 sein.
Das sieht so aus als wenn ein 32-bit signed integer auf ein 64 bit signed integer (oder pointer) gecasted wird...
Peter Below
  Mit Zitat antworten Zitat
walterschmitt

Registriert seit: 21. Jul 2003
Ort: Mannheim
6 Beiträge
 
#34

AW: Programm-Absturz seit Delphi 11.2

  Alt 10. Okt 2022, 16:16
Nachdem ich die Stelle im Quellcode der Komponente genau identifizieren konnte, wo bei mir der Fehler auftrat und welche Werte die Variablen haben, hat der Komponentenhersteller die Sache gefixt.
Es war ein Pointerproblem.
Jetzt läuft es.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#35

AW: Programm-Absturz seit Delphi 11.2

  Alt 11. Okt 2022, 10:43


*Mike drop*

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
rwalper

Registriert seit: 6. Sep 2006
48 Beiträge
 
Delphi 11 Alexandria
 
#36

AW: Programm-Absturz seit Delphi 11.2

  Alt 12. Okt 2022, 11:44
Von mir auch ein kurzes Update: das Problem ist nun auch bei uns gefixed.
Der Fehler lag in einer sehr alten Komponente, wo ein Pointer über Longint gecastet wurde (alle Casts von Integer() und Cardinal() haben wir ja gefunden, aber leider nicht nach Longint() gesucht).
Mit abgeschaltetem ASLR ist das Programm wieder gestart, wenn auch mit anderen Fehlern. Nach dem temporären Entfernen der Komponente hat alles wieder funktioniert.
Vielen Dank für eure Hilfe.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 07: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