![]() |
Indy Komponente aufs Formular -> Exception
Hallo Freunde,
heute eine neue Merwürdigkeit des XE4-Compilers (oder besser: der IDE). Ich habe ein Projekt mit D2010 erstellt und dieses vor einigen Wochen erfolgreich auf XE4 "umgezogen". Heute nun möchte ich das Projekt öffnen und erhalte eine Schutzverletzung in IndySystem180.bpl... Ein Klick auf "Ignorieren" entfernte erwartungsgemäß sämtliche Indy-Komponenten von meinem Formular, aber das kann man ja wieder geradeziehen... Dachte ich, ist aber Pustekuchen. Wenn ich nun einen TIdTCPServer aus der Toolpalette auf mein Formular ziehen will, gibts einen "Zugriffsverletzung bei Adresse X. Lesen von Adresse Y", wobei X und Y stets gleich lauten, aber unterschiedliche Werte haben. Ich hatte schon 0, $80000000, $51FDECBA usw. Die Details sehen dann so aus:
Code:
Diesen Error setzt es nun jedesmal, wenn ich irgendeine Indy-Komponenten aus Formular setzen will, also auch mit simplen Dingern wie IdSMTP, IdEcho, IdUDPServer usw. Ich habe auch schon die Packages komplett entfernt und neu hinzugefügt, Ergebnis Null.
[5005F2A9]{rtl180.bpl } System.@AfterConstruction (Line 16534, "System.pas" + 2) + $5
[500642E1]{rtl180.bpl } System.@DynArraySetLength (Line 32370, "System.pas" + 3) + $0 [5017AECF]{rtl180.bpl } System.Classes.{System.Generics.Collections}TList<System.Classes.TComponent>.SetCapacity (Line 662, "System.Generics.Collections.pas" + 3) + $F [5017BB43]{rtl180.bpl } System.Classes.{System.Generics.Collections}TList<System.Classes.TComponent>.IndexOf (Line 1076, "System.Generics.Collections.pas" + 2) + $E [5005F2A9]{rtl180.bpl } System.@AfterConstruction (Line 16534, "System.pas" + 2) + $5 [51FEB8BC]{vcldesigner180.bpl} VCLSurface.TComponentObserver.Create (Line 1721, "VCLSurface.pas" + 5) + $6 [5005F2A9]{rtl180.bpl } System.@AfterConstruction (Line 16534, "System.pas" + 2) + $5 [51FEB9C4]{vcldesigner180.bpl} VCLSurface.TContainer.Create (Line 1752, "VCLSurface.pas" + 7) + $25 [21147E02]{designide180.bpl} ComponentDesigner.TComponentRoot.ModifiableFrame (Line 5349, "ComponentDesigner.pas" + 1) + $8 [51FEFF64]{vcldesigner180.bpl} VCLSurface.TVclDesignSurface.IsModifiableFrame (Line 3591, "VCLSurface.pas" + 1) + $B [51FEDED9]{vcldesigner180.bpl} VCLSurface.TVclDesignSurface.InstanceInserted (Line 2761, "VCLSurface.pas" + 7) + $F [51FF03CF]{vcldesigner180.bpl} VCLSurface.TVclDesignSurface.Notification (Line 3757, "VCLSurface.pas" + 16) + $6 [505767D7]{vcl180.bpl } Vcl.Forms.TCustomForm.Notification (Line 3818, "Vcl.Forms.pas" + 40) + $C [211185F5]{designide180.bpl} Proxies.NotificationHook (Line 310, "Proxies.pas" + 8) + $B [511EDABF]{IndySystem180.bpl} IdStack.TIdStack.IncUsage (Line 688, "IdStack.pas" + 11) + $7 [511EEBB2]{IndySystem180.bpl} IdComponent.TIdComponent.InitComponent (Line 229, "IdComponent.pas" + 1) + $5 [50EF200D]{IndyCore180.bpl} IdCustomTCPServer.TIdCustomTCPServer.InitComponent (Line 917, "IdCustomTCPServer.pas" + 1) + $2 [511CF547]{IndySystem180.bpl} IdBaseComponent.TIdInitializerComponent.Create (Line 186, "IdBaseComponent.pas" + 4) + $4 [21D64B2B]{delphicoreide180.bpl} CompPalMgr.TComponentPalettePageItemDelegate.CreateComponent (Line 2756, "CompPalMgr.pas" + 2) + $7 [2113FFAB]{designide180.bpl} ComponentDesigner.TComponentRoot.DoCreateComponent (Line 2359, "ComponentDesigner.pas" + 12) + $17 [21145796]{designide180.bpl} ComponentDesigner.TComponentRoot.CreateCurrentComponent (Line 4450, "ComponentDesigner.pas" + 2) + $32 [2115DBAA]{designide180.bpl} Surface.TDesignSurface.CreateItem (Line 195, "Surface.pas" + 1) + $11 [2111193A]{designide180.bpl} Designer.TDesigner.DoDragCreate (Line 794, "Designer.pas" + 1) + $F [211121E8]{designide180.bpl} Designer.TDesigner.DragEnd (Line 974, "Designer.pas" + 19) + $3 [21114880]{designide180.bpl} Designer.TDesigner.MouseUp (Line 1763, "Designer.pas" + 1) + $2 [51FEEE82]{vcldesigner180.bpl} VCLSurface.MouseEvent (Line 3187, "VCLSurface.pas" + 45) + $11 [5005F7EB]{rtl180.bpl } System.TMonitor.Exit (Line 16933, "System.pas" + 2) + $7 [51FEFA6F]{vcldesigner180.bpl} VCLSurface.TVclDesignSurface.IsDesignMsg (Line 3448, "VCLSurface.pas" + 48) + $6 [0B6A824C]{IDEFixPack.dll} VCLDesignerGuideLinesHideFix.IsDesignMsg + $94 [5045287F]{vcl180.bpl } Vcl.Controls.TControl.WndProc (Line 7137, "Vcl.Controls.pas" + 4) + $21 [504576C6]{vcl180.bpl } Vcl.Controls.TWinControl.DefaultHandler (Line 10080, "Vcl.Controls.pas" + 30) + $19 [50473E6F]{vcl180.bpl } Vcl.StdCtrls.TCustomEdit.DefaultHandler (Line 3131, "Vcl.StdCtrls.pas" + 32) + $4 [5005F00F]{rtl180.bpl } System.TObject.Dispatch (Line 16044, "System.pas" + 11) + $0 [50452AF9]{vcl180.bpl } Vcl.Controls.TControl.WndProc (Line 7224, "Vcl.Controls.pas" + 91) + $6 [50456DEB]{vcl180.bpl } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 9807, "Vcl.Controls.pas" + 1) + $9 [504575B5]{vcl180.bpl } Vcl.Controls.TWinControl.WndProc (Line 10039, "Vcl.Controls.pas" + 153) + $6 [505777F9]{vcl180.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4388, "Vcl.Forms.pas" + 201) + $5 [51FF84BF]{vcldesigner180.bpl} VCLFormContainer.TControlSizer.ControlWndProc (Line 311, "VCLFormContainer.pas" + 33) + $C [50456BF8]{vcl180.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9751, "Vcl.Controls.pas" + 3) + $6 [50170090]{rtl180.bpl } System.Classes.StdWndProc (Line 16860, "System.Classes.pas" + 8) + $0 [50582213]{vcl180.bpl } Vcl.Forms.TApplication.CancelHint (Line 11117, "Vcl.Forms.pas" + 6) + $E [50580E87]{vcl180.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10288, "Vcl.Forms.pas" + 23) + $1 [50580ECA]{vcl180.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10318, "Vcl.Forms.pas" + 1) + $4 [50581205]{vcl180.bpl } Vcl.Forms.TApplication.Run (Line 10456, "Vcl.Forms.pas" + 26) + $3 Übersetzen läßt sich das Projekt übrigens problemlos. Bitte sagt mir, das ich nicht schon wieder den Compiler neu aufsetzen muß :cry: |
AW: Indy Komponente aufs Formular -> Exception
Bei einem neuen Projekt gleiches Problem?
|
AW: Indy Komponente aufs Formular -> Exception
Es geht aber genau um dein spezielles Projekt, allgemein eine Indy-Komponente auf ein VCL(?)-Formular in einem frischen Projekt setzen löst das nicht aus, richtig?
|
AW: Indy Komponente aufs Formular -> Exception
Das habe ich just ausprobiert, ein ganz frisches Projekt zeigt diesen Error nicht an.
Scheint, als wäre das ein bekanntes Problem ? |
AW: Indy Komponente aufs Formular -> Exception
Hat er denn Probleme wenn du - nach dem Entfernen der Indy-Komponenten - mal mit [Alt]+[F12] in die DFM und nochmal mit [Alt]+[F12] wieder zurück aufs Formular gehst?
|
AW: Indy Komponente aufs Formular -> Exception
Nope, das geht problemlos.
Hinweis: Die Deklaration der Komponente ist noch immer existent. Sollte ich die mal entfernen ? |
AW: Indy Komponente aufs Formular -> Exception
Genau darauf wollte ich hinaus: Nicht dass im Formular noch eine Deklaration für eine
Delphi-Quellcode:
existiert, und er beim Setzen eines
IdTcpServer1: TAlteIndyKlasse
Delphi-Quellcode:
dann irgendwie durcheinander kommt.
IdTcpServer1: TNeueIndyKlasse
Ich hätte gedacht, dass er das mit dem hin- und herwechseln mit Alt+F12 merkt... |
AW: Indy Komponente aufs Formular -> Exception
Okay, die überzählige Deklaration entfernt.
Änderungen: Keine. Noch immer rummst es beim droppen einer Indy-Komponente. |
AW: Indy Komponente aufs Formular -> Exception
Eventuell liegt auf der Form noch eine andere Komponente, welche vom Indy nicht gemocht "wird"?
Probehalber auch mal die DPROJ löschen/umbenennen und schauen ob es immernoch knallt. |
AW: Indy Komponente aufs Formular -> Exception
Entferne einmal testweise das IDE Fix Pack (und schaue ggf. nach einer neuen Version) und ggf. weitere solcher Addins, je nachdem was du da alles hast.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 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