Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Nicht lokalisierbare Exception

  Alt 17. Okt 2010, 11:43
Delphi-Version: 2010
Moin, ich hab grad ein Problem, welches ich einfach nicht nachvollziehen kann.

Wenn ich Zeile für Zeile Debugge, dann tritt kein Fehler auf, aber wenn ich das Programm einfach nur via F9 Starte, dann läuft das Programm manchmal in eine Exception.
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt HID.exe ist eine Exception der Klasse EListError mit der Meldung 'Objekt mit Index 0 konnte nicht gesetzt werden' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Und zwar irgendwo in Application.CreateForm(TForm1, Form1); Dachte erst es liegt am OnCreate, aber da kommt das Programm noch garnicht vorbei.

Auf der Form liegt auch nur ein PageControl, 'nen Memo und ein paar Labels und Edits.
Delphi-Quellcode:
TForm1 = Class(TForm)
  PageControl1: TPageControl;
    TabSheet1: TTabSheet;
      Label1: TLabel; Edit1: TEdit;
      Label2: TLabel; Edit2: TEdit;
      Label3: TLabel; Edit3: TEdit;
      Label4: TLabel; Edit4: TEdit; Label5: TLabel;
      Memo1: TMemo;
  Procedure FormCreate(Sender: TObject);
  Procedure FormDestroy(Sender: TObject);
Private
  HIDControler: THIDControler;
  Procedure HIDDeviceChange(Controler: THIDControler);
  Procedure HIDDeviceArrival(Controler: THIDControler; Const Device: THIDDeviceInfo);
  Procedure HIDDeviceRemoval(Controler: THIDControler; Const Device: THIDDeviceInfo; DeviceObject: THIDDevice);
  Procedure HIDDeviceData(Device: THIDDevice; Const Data; Len: Integer; DoRecive: Boolean);
  Procedure HIDOnRecive(Sender: THIDDevice; Const Data; Len: Integer);
End;
Die Methoden und der HIDControler sind irrelevant, da sie zu diesem Zeitpunkt noch nicht erstellt und auch nie aufgerufen wurden.
Zitat:
:7c812afb kernel32.RaiseException + 0x52
:0045e5e2 TabControlError + $16
:0043251e TStrings.InsertObject + $26
:004607ba TPageControl.InsertTab + $3E
:0045fe23 TTabSheet.SetTabShowing + $23
:00436156 TReader.ReadDataInner + $8E
:004360c4 TReader.ReadData + $6C
:0043c162 TComponent.ReadState + $6
:00435f3a TReader.ReadComponent + $122
:00436156 TReader.ReadDataInner + $8E
:00436095 TReader.ReadData + $3D
:0043c162 TComponent.ReadState + $6
:004a034e TCustomForm.ReadState + $72
:00437032 TReader.ReadRootComponent + $1DA
:00433b1f TStream.ReadComponent + $37
:0042fa3c InternalReadComponentRes + $5C
:0042fbac InitComponent + $64
:0042fc3a InitInheritedComponent + $66
:0049fbbf TCustomForm.Create + $CB
:004aa4a9 TApplication.CreateForm + $79
HID.HID
:7c817077 kernel32.RegisterWaitForInputIdle + 0x49
Die Exception tritt auch nicht immer auf.
Ohne am Programm was zu ändern, brauchte ich grad bestimmt 20 Versuche umd endlich an die Exception und somit den Aufrufstack zu gelangen.
Bevor ich hier Anfing dieses hier zu schreiben, ist diese Exception bestimmt 20-30 Mal hintereinander aufgetaucht und alles ohne irgendwelche Veränderungen an der Binary.

Diese Exception muß also irgendwo aus der VCL kommen und irgendwelches Debuggen ist bisher absolut zwecklos gewesen

Delphi 2010 + XP

[edit]
Wo ich grade Daniels Fehlerthread lese ...
ja, hier auf dem Rechner ist auch Logitechzeugs installiert.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat