Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   rtl270.bpl AV @IsClass (https://www.delphipraxis.net/211684-rtl270-bpl-av-%40isclass.html)

bernhard_LA 21. Okt 2022 21:22


rtl270.bpl AV @IsClass
 
der Fehler tritt jetzt leider immer öfter auf, hier versuche nur ein Form zu editieren ,
keine eigenen Komponenten auf dem Formuar

Delphi-Quellcode:

operating system  : Windows 10 x64 build 19044
system language   : English
system up time    : 2 hours 9 minutes
program up time   : 1 hour 57 minutes
processors        : 8x Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
physical memory   : 2602/8072 MB (free/total)
free disk space   : (C:) 8,37 GB
display mode      : 1920x1080, 32 bit
process id        : $2c50
allocated memory  : 444,33 MB
largest free block : 1,97 GB
command line      : "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\bds.exe" "-pDelphi"
executable        : bds.exe
current module    : madExcept_.bpl
exec. date/time   : 2021-02-19 16:55
version           : 27.0.40680.4203
compiled with     : Delphi 10.4 Sydney
madExcept version : 5.1.0
callstack crc     : $b35d9f96, $9b19c6e0, $f1001b7f
exception number  : 6
exception class   : EAccessViolation
exception message : Access violation at address 5005FF96 in module 'rtl270.bpl'. Read of address 80000000.

Delphi-Quellcode:
thread $3a0c:
5005ff96 +00a rtl270.bpl          System              18453   +1 @IsClass
528b0967 +00f vcldesigner270.bpl  VCLFormDesigner       352   +1 TVCLRootDesigner.AddClassProp
210ccba3 +0bf designide270.bpl    ComponentDesigner    2082  +14 TComponentRoot.AddClassProps
210d278d +0c1 designide270.bpl    ComponentDesigner    4275  +18 TComponentRoot.GetUnits
21db3bf1 +0b9 delphicoreide270.bpl DelphiModule         1743  +11 TPascalCodeMgrModHandler.UpdateSource
21db3c7c +000 delphicoreide270.bpl DelphiModule         1755   +0 TPascalCodeMgrModHandler.UpdateUnits
21132f43 +067 designide270.bpl    Events                212   +2 EmbeddedDesignerForm.{Events}TEvent1<System.TObject>.Send
211326d7 +103 designide270.bpl    EmbeddedDesignerForm  224  +28 TFormEditorView.Display

itblumi 22. Okt 2022 20:28

AW: rtl270.bpl AV @IsClass
 
Dieser Fehler ist mir auch schon unter gekommen und dies beim Testen der Delphi Community Version, nach dem ich mir das Ganze 2 Tage angeschaut hatte.
Habe ich sie im Mülleimer verschwinden lassen. Falls du diese auch auf deinem Rechner getestet haben solltest, würde ich Dir raten diese zu entfernen insofern du eine gekaufte Version haben solltest. Auf der Embarcadero Webseite wird auch darauf hin gewiesen das diese beiden Produkte nicht auf einer Maschine installiert werden sollten.

himitsu 22. Okt 2022 21:12

AW: rtl270.bpl AV @IsClass
 
Das simmt so eigentlich nicht.

Die CE darf kann aktuell nicht mit einer 10.4 zusammen installiert werden, da sie selbst eine 10.4 ist und es grundsätzlich nicht möglich ist gleiche IDE-Versionen gleichzeitig zu installieren.

Ich denke mal nicht, dass es am IsClass liegt, sondern dass einfach nur auf einen ungültigen Zeiger zugegriffen wird.
IS und AS funktionieren immer nur, wenn es NIL oder die Instanz gültig ist.

itblumi 22. Okt 2022 23:56

AW: rtl270.bpl AV @IsClass
 
Die CE überschreibt Registry Einträge von allen kommerziellen Delphi Versionen!
Ich wollte sie nur kurz ausprobieren und musste dann einiges anpassen und wieder ab ändern und auch die andere Delphi Version reparieren damit alles wieder lief. In meinem Falle war das XE 6.
Deswegen sollte sie nie mit anderen kommerziellen Versionen gemischt werden!
Am Besten nur in einer VM ausprobieren, falls es euch interessiert.

itblumi 23. Okt 2022 00:35

AW: rtl270.bpl AV @IsClass
 
Zitat:

Zitat von himitsu (Beitrag 1513677)
Das simmt so eigentlich nicht.

Die CE darf kann aktuell nicht mit einer 10.4 zusammen installiert werden, da sie selbst eine 10.4 ist und es grundsätzlich nicht möglich ist gleiche IDE-Versionen gleichzeitig zu installieren.

Ich denke mal nicht, dass es am IsClass liegt, sondern dass einfach nur auf einen ungültigen Zeiger zugegriffen wird.
IS und AS funktionieren immer nur, wenn es NIL oder die Instanz gültig ist.


Leider ist das bei der Community Version so und der Fehler tritt wirklich in dieser Zeile auf mit gültigem Pointer.
Beispiel Code:
Code:
var
  AObject: MyObject;
begin
  if (Sender is MyObject) then // Der Fehler tritt hier auf, eigentlich geht er noch in eine System Routine um den Ausdruck aus zu werten
   begin
    // do something
  end;
end;
Dieser Fehler tritt erst nach einem häufigen Aufruf dieser Funktion auf oder wenn öfters ein .Assign() durch geführt wird, denn in dieser Funktion wird auch auf den Typ geprüft.
So hat sich der Fehler für mich dargestellt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 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