Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Probleme mit Property einer Komponente (https://www.delphipraxis.net/34127-probleme-mit-property-einer-komponente.html)

Stevie 18. Nov 2004 09:04

Re: Probleme mit Property einer Komponente
 
Hi Helmi,

hab ich's überlesen, oder hast du noch nicht erklärt, an welcher Stelle du das Durchlaufen der SetIcon-Methode erwartest?
Zur Design-Zeit, wenn du's über den OI änderst?

P.S.: So muss es gemacht werden

Delphi-Quellcode:
procedure TTestCompo.SetIcon(Value: TIcon);
begin
  if Value <> FIcon then
    FIcon := Value;
end;

constructor TTestCompo.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  // Wenn hier schon ein Icon-Objekt erstellt werden soll
  // und die Set-Methode aufgerufen werden soll, dann:
  // Ansonsten hat das hier nix zu suchen!
  SetIcon(TIcon.Create);
end;

Helmi 18. Nov 2004 09:47

Re: Probleme mit Property einer Komponente
 
hallo

sorry, hab das ganz vergessen zu erwähnen

das soll durchlaufen werden zur designzeit
und zur laufzeit wenn ich ein anderes Icon auswähle

Stevie 18. Nov 2004 09:58

Re: Probleme mit Property einer Komponente
 
Hoppla, das war falsch, was ich erzählt hab... :oops:

Ein Blick in TCustomForm (dort gibt's ja auch ne Icon-Eigenschaft) zeigt:
Delphi-Quellcode:
procedure TTestCompo.SetIcon(Value: TIcon);
begin
  FIcon.Assign(Value);
end;

constructor TTestCompo.Create(AOwner: TComponent);
begin
  inherited;
  FIcon := TIcon.Create;
end;

destructor TTestCompo.Destroy;
begin
  FreeAndNil(FIcon);
  inherited;
end;
Ich hab's getestet und es funktioniert!

MfG

Edit: Copy&Paste-Fehler behoben... :oops:

Helmi 18. Nov 2004 10:11

Re: Probleme mit Property einer Komponente
 
aber das ist ja das gleiche was ich bereits schon der testcombo drin hatte oder?

ausserdem bei
Code:
destructor TTestCompo.Create(AOwner: TComponent);
begin
  FreeAndNil(FIcon);
  inherited;
end;
ist das create nicht falsch?
muss das ned destroy heissen?

Stevie 18. Nov 2004 10:14

Re: Probleme mit Property einer Komponente
 
Zitat:

Zitat von Helmi
aber das ist ja das gleiche was ich bereits schon der testcombo drin hatte oder?

ausserdem bei
Code:
destructor TTestCompo.Create(AOwner: TComponent);
begin
  FreeAndNil(FIcon);
  inherited;
end;
ist das create nicht falsch?
muss das ned destroy heissen?

:wall: Ach Shit Copy&Waste!! :roll:

Kommt die Meldung nicht, wenn du im OI ein Icon angibst???

Helmi 18. Nov 2004 10:19

Re: Probleme mit Property einer Komponente
 
wenn ich im OI ein Icon eingib dann ja

aber (das hab ich vielleicht vergessen zu sagen) ich will auch zur Laufzeit das Icon ändern

und dazu brauch ich die SetIcon

jim_raynor 18. Nov 2004 10:25

Re: Probleme mit Property einer Komponente
 
:gruebel:

Zur Laufzeit kannst du doch einfach eine Zuweisung machen: Icon := NeuesIcon

:gruebel: Dann wird auch SetIcon aufgerufen. Also wo ist das Problem? :gruebel:


P.S: Ich glaube ihr merkt schon das ich diesen Smiley ( :gruebel: ) liebe :)

Helmi 18. Nov 2004 10:34

Re: Probleme mit Property einer Komponente
 
Liste der Anhänge anzeigen (Anzahl: 1)
es wird eben nicht die SetIcon aufgerufen sonst würde ja die Showmessage angezeigt werden

anbei mal mein beispielprogramm

es muss nur ein anderes Icon benutzt werden (bei euch)

Stevie 18. Nov 2004 10:38

Re: Probleme mit Property einer Komponente
 
Ist doch klar! Weil hier nicht das Icon-Objekt geändert wird, sondern dieses Objekt nur ein anderes Icon lädt.

So würde es gehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Icon: TIcon;
begin
  try
    Icon := TIcon.Create;
    Icon.LoadFromFile('e:\telefonbilder\telefonrot.ico');
    TestCompo1.Icon := Icon;
  finally
    FreeAndNil(Icon);
  end;
end;

Helmi 18. Nov 2004 10:44

Re: Probleme mit Property einer Komponente
 
ach so

mit SetIcon reagier ich wenn sich das object ändert, aber da ich nur das Icon des Objects ändere wird SetIcon nicht ausgelöst

jetzt hab ich´s auch verstanden :dancer2: :hello:

gibt es ne möglichkeit auf das neue Icon (also die Datei) zu reagieren?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr.
Seite 2 von 3     12 3      

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