Autor Beitrag
patmann2001
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 201

Windows 7 Prof.
Delphi XE2
BeitragVerfasst: Mi 16.11.11 14:19 
Hallo,
ich habe einen Button von TCustomControl abgeleitet. Da ich in diesem Btn das Zeichnen selber mache, kann ich meine Caption nicht von TCaption ableiten. Deshalb habe ich das selber gemacht. Wenn ich nun die Eigenschaft Action ableite, dann ändert sich natürlich meine Caption nicht. Das möchte ich aber. Was muss ich machen, damit sich speziell diese Eigenschaft ändert, bzw. wie kann ich auf ActionChange zugreifen.
Vielen Dank für eure Hilfe.
lg Patmann
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 16.11.11 16:08 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
  TMyControl=CLass(TCustomControl)
  private
    Flabel:TLabel;
  protected
     procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override;
  public
     Constructor Create(AOwner:TComponent);Override;
  End;

{ TMyControl }

procedure TMyControl.ActionChange(Sender: TObject; CheckDefaults: Boolean);
begin
  inherited;
  FLabel.Caption := Caption;
end;

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
patmann2001 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 201

Windows 7 Prof.
Delphi XE2
BeitragVerfasst: Mi 16.11.11 17:13 
Hallo,

das hilft schon mal, das beim Zuweisen der Action die Caption gesetzt wird, jedoch wenn die Caption geändert wird, durchläuft das Programm diese Routine nicht mehr.
Da fehlt noch was.

Lg Patmann
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 16.11.11 22:39 
Dann häng' Dich in die Messages ich würde mal bei WM_SETTEXT anfangen ....

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
patmann2001 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 201

Windows 7 Prof.
Delphi XE2
BeitragVerfasst: Do 17.11.11 16:27 
Hallo,

es hat etwas mit der Function GetActionLinkClass zu tun. Ein normaler Button wird dann von der Classe TControlActionLinkClass abgeleitet. Mein Button ist aber eine eigene Klasse und ich musste daher diese Classe neu ableiten. Soweit so gut. Wenn ich den Button jetzt zur Laufzeit erzeuge, gibt es auch keine Fehlermeldung und die Action arbeitet einwandfrei. Wenn ich nun jedoch den Button in der Entwicklungsumgebung auf das Formular lege erhalte ich die Fehlermeldung:
Zitat:

Fehler
Zugriffsverletzung bei Adresse 005C436D in Modul 'coreide60.bpl'. Lesen von Adresse 00000006.

Gibt es da eine Möglichkeit, die Entwicklungsumgebung zu debuggen? Wie komme ich an den Fehler ran.
Lg Patmann.