AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TNotifyEvent - ExcessViolation bei Adresse 00000000
Thema durchsuchen
Ansicht
Themen-Optionen

TNotifyEvent - ExcessViolation bei Adresse 00000000

Ein Thema von TheConConBug · begonnen am 5. Nov 2005 · letzter Beitrag vom 5. Nov 2005
Antwort Antwort
TheConConBug

Registriert seit: 18. Aug 2004
22 Beiträge
 
Delphi 7 Enterprise
 
#1

TNotifyEvent - ExcessViolation bei Adresse 00000000

  Alt 5. Nov 2005, 11:33
HiHo,

ich hab aus irgendwelchen gründen bei einer eigens abgeleiteten eine Exception.
hab leider keine ahnung warum ..vorallem, weil es auch schonmal irgenwie geklappt hatte.. vieleicht kann mir jemand helfen..

die klasse ist von DBMemo abgeleitet und soll sich per mausklick verkleinern.
das läuft auch alles soweit ganz gut. aber als ich dann das Event (FBeforeMiniMize) hinzugefügt hatte, kam diese fehlermeldung:

Zitat:
>Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation aufgetreten.Meldung:
>'Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000'[..]

wenn ich die Event-Aufrufe (<FBeforeMiniMize(self)> und <FAfterMinimize(self)>) auskommentiere, dann klappt wieder alles.
hier ein programmausschnitt..

Delphi-Quellcode:
  TDBMemoXT = class(TDBMemo)
  private
   FReSizeOptions : TDBMReSizeOptions;
   FAfterMinimize : TNotifyEvent;
   FBeforeMinimize : TNotifyEvent;
   [..]
  protected
   [..]
  public
   procedure Minimize; dynamic;
   [..]
  published
   property AfterMinimize : TNotifyEvent read FAfterMinimize write FAfterMinimize;
   property BeforeMinimize : TNotifyEvent read FBeforeMinimize write FBeforeMinimize;
   property ReSizeOptions : TDBMReSizeOptions read FReSizeOptions write FReSizeOptions;
  end;

procedure Register;

implementation

procedure TDBMemoXT.Minimize;
  var Y,X :Integer;
 begin
  FBeforeMiniMize(self);
  X := FReSizeOptions.FReSizeCoords.FMinX;
  Y := FReSizeOptions.FReSizeCoords.FMinY;
  if not (Y < 0) then Height := Y;
  if not (X < 0) then Width := X;
  Color := FReSizeOptions.FMinMColor;
  Cursor := FReSizeOptions.FMinMCursor;
  FAfterMinimize(self);
 end;
..Ciao
..TheConConBug
...und aus dem Chaos sprach eine Stimme zu mir:
"Lächle und sei froh, es hätte schlimmer kommen können!"
...und ich lächelte und war froh - und es kam schlimmer!
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TNotifyEvent - ExcessViolation bei Adresse 00000000

  Alt 5. Nov 2005, 11:37
Du musst das vorher mit assigned abfragen.
Delphi-Quellcode:
if assigned(FAfterMinimize) then
   FAfterMinimize(self);
[edit] Das sollte man vor jedem Event-Aufruf machen![/edit]
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
TheConConBug

Registriert seit: 18. Aug 2004
22 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: TNotifyEvent - ExcessViolation bei Adresse 00000000

  Alt 5. Nov 2005, 11:45
Huiiiii...
ja!!! es funtkioniert.
vielen dank für die superschnelle antwort.
...und aus dem Chaos sprach eine Stimme zu mir:
"Lächle und sei froh, es hätte schlimmer kommen können!"
...und ich lächelte und war froh - und es kam schlimmer!
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:37 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