Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Exception TTimer nicht gefunden (https://www.delphipraxis.net/139961-exception-ttimer-nicht-gefunden.html)

BAMatze 9. Sep 2009 07:38


Exception TTimer nicht gefunden
 
Hallo und guten Morgen an euch,

Hab mal wieder ein Problem, wo ich nicht weiß, wo dieser herkommt. In meinem Projekt verwende ich eigentlich nur 1 Timer in einer Unit. Seit heute Morgen kommt da die Meldung:
Zitat:

Exception EClassNotFound in Modul Proj.exe bei 0001F7A6. Klasse TTimer nicht gefunden.
Habe geschaut und auch mit dem Debugger keinen Fehler an meiner Deklaration und Initialisierung gefunden. Hier Mal Codeabschnitte:

Delphi-Quellcode:
uses
  Windows, SysUtils, Forms, Hilfsfunktionen, ExtCtrls, //<- Timerklasse enthalten
  Dialogs, ProtokollUnit;

//Deklaration
type TV_Tische = class
  private
  ...
    Bewegungsueberwachung: TTimer;
  ...

//Implementierung
constructor TV_Tische.create;
begin
  inherited create;
  Protokoll.Protokolleingang('Verschiebetisch', 'Create');
  Bewegungsueberwachung := TTimer.Create(nil);
  Bewegungsueberwachung.OnTimer := BewegungsueberwachungTimer; //TTimer.OnTimer-Funktion
  Bewegungsueberwachung.Enabled := true;
end;

// Speicherfreigabe in Destroy
destructor TV_Tische.Destroy;
begin
  ...
  Bewegungsueberwachung.free;
  Protokoll.Protokollausgang('Verschiebetisch', 'Destroy');
  inherited Destroy;
end;
Der Fehler tritt anscheinend auf, bei der Erzeugung einer anderen Form, die aber eigentlich keinen Timer verwendet.
Bin gerade total verwirrt und ist noch ziemlich früh :roll:

Sieht jemand eventuell den Fehler?

Vielen Dank schonmal im Voraus.
BAMatze

[Edit1] Das Programm ist kompilier- und ausführbar! Beim Asuführen kommt dann beim laden der Form der Fehler.[/Edit]

BAMatze 9. Sep 2009 09:04

Re: Exception TTimer nicht gefunden
 
Also ich konnte die Form identifizieren und mit dem Debugger in der Unit Form die Zeile herausfinden, an der es zum Crash kommt. Leider weiß ich derzeit noch nicht, was diese Zeile genau macht:

Quellcode in Unit Form
Delphi-Quellcode:
constructor TCustomForm.Create(AOwner: TComponent);
begin
  GlobalNameSpace.BeginWrite;
  try
    CreateNew(AOwner);
    if (ClassType <> TForm) and not (csDesigning in ComponentState) then
    begin
      Include(FFormState, fsCreating);
      try
        if not InitInheritedComponent(Self, TForm) then // <- Hier kommt der Fehler
          raise EResNotFound.CreateFmt(SResNotFound, [ClassName]);
      finally
        Exclude(FFormState, fsCreating);
      end;
      if OldCreateOrder then DoCreate;
    end;
  finally
    GlobalNameSpace.EndWrite;
  end;
end;
Habe die Reihenfolge der Formen in der Projektverwaltung geändert und der Fehler erscheint immer bei dieser Form, allerdings bevor er in die Create-Funktion der Form geht. Auch das entfernen der Form führt weiterhin zu dem Fehler :gruebel: <-- irritiert mich irgendwie schon sehr.

Hoffe das dies euch etwas mehr hilft mir zu helfen, denn zur Zeit hab ich noch keinen Plan, warum das so ist.

BAMatze 9. Sep 2009 10:38

Re: Exception TTimer nicht gefunden
 
Ja Fehler gefunden. Und zwar lag es daran, dass ich bis Donnerstag letzter Woche in der Form einen TTimer auf der Form hatte und zum Arbeitsende ich feststellte, dass die TTimer.onTimer-Funktion eigentlich keinen wirklichen nutzen mehr für mein Programm gemacht hat. Also hab ich die Komponente + Procedure im Quellcode gelöscht, die Komponente (also das Icon für den Timer) selber war abder noch auf der Form - was mich dabei wundert, dass Delphi nicht aufgefallen ist, dass ich Timer1: TTimer in der Deklaration gelöscht hab, in der Regel kommt doch da irgendwie ne Meldung, dass die Komponent nicht existiert oder irre ich mich da??. Nach entfernen der Komponente von der Form, war alles wieder in Ordnung.

:cry: Leider hat diese Erkenntnis nen Vormittag gekostet :cry:


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