Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Komponenten in TurboDelphi (Win32) verwenden (https://www.delphipraxis.net/76745-komponenten-turbodelphi-win32-verwenden.html)

Nelphin 1. Nov 2009 18:29

Re: Komponenten in TurboDelphi (Win32) verwenden
 
Hallo,

ich habe das Tutorial mit der Komponente CoolTrayIcon ausprobiert und soweit auch hinbekommen.
sieht etwa so aus:

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, CoolTrayIcon, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);


  private
    { Private-Deklarationen }
    MeinIcon : TCoolTrayIcon;

  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
MeinIcon := TCoolTrayIcon.Create(self); //also hier wird dann die Instanz geboren
MeinIcon.MinimizeToTray:=true;      // und hier werden Eigenschaften vergeben
MeinIcon.Hint:='Mein Icon';
MeinIcon.Icon.LoadFromFile('G:\Icons\temp.ico');
MeinIcon.Enabled:=true;
end;
jetzt hab ich das problem das mein icon auf das ereignis "on click" reagieren muß (da muß dann MeinIcon.ShowMainForm; rein)
aber ich komme ja an das Ereignis "On Click" nicht dran, weil ich keinen Objektinspektor habe...

Meine Frage ist also, wie ich an die Ereignisse von Drittkomponenten herankomme, ohne Objektinspector.

Ach ja, ich bin Anfänger und würde mich über leicht verständliche Antworten sehr freuen!

Danke!

Nelphin

patti 1. Nov 2009 18:34

Re: Komponenten in TurboDelphi (Win32) verwenden
 
Dazu kannst du ein eigenes Ereignis definieren und dies mit dem "OnClick"-Ereignis der Komponente verknüpfen. Dir Procedure, die du erstellst, muss die gleichen Paramter haben. Bei einem OnClick müsste das nur "Sender : TObject" sein:

Delphi-Quellcode:
private // des Formulars
  procedure OwnClick(Sender : TObject);
Beim OnCreate:

Delphi-Quellcode:
MeinIcon.OnClick := OwnClick; // Zuweisung des Ereignisses
Und dann halt noch

Delphi-Quellcode:
procedure TForm1.OwnClick(Sender : TObject);
begin
    // der Code für das OnClick-Ereignis
end;
(ungetestet, sollte gehen ;-) )

MFG
Patti

Edit: kleine Anpassungen...

Nelphin 1. Nov 2009 18:52

Re: Komponenten in TurboDelphi (Win32) verwenden
 
vielen Dank!!!!

hat geklappt!
:dp:

patti 1. Nov 2009 18:55

Re: Komponenten in TurboDelphi (Win32) verwenden
 
Kein Problem ;-)
Der Vollständigkeit halber sollte vielleicht noch erwähnt werden, dass du deine per Hand erstellte Instanz der Komponente beim OnDestroy der Form wieder freigeben solltest (z.B. mit .Free). Dank der Speicherverwaltung etc. von Windows wäre das wohl nicht unbedingt notwendig, aber besser (weil "sauberer") ist es trotzdem, wenn du sie wieder freigibst.

Patti

himitsu 1. Nov 2009 19:33

Re: Komponenten in TurboDelphi (Win32) verwenden
 
Zitat:

Zitat von patti
Der Vollständigkeit halber sollte vielleicht noch erwähnt werden, ...

Muß er nicht unbedingt.

Delphi-Quellcode:
TCoolTrayIcon.Create(self)
Das Self ist hier seine Form und somit gibt er diese als Owner an
und der Owner kümmert sich auch um die Freigabe aller seiner Kinder.

Wenn sie von TComponent abgeleitet sind, denn diese Komponenten tragen sich in die Components-Liste ihres Owners ein und beim .Destroy arbeitet dieser seine Liste ab und gibt alle dort registrierten Objekte mit frei.

fox67 10. Mär 2011 11:38

AW: Komponenten in TurboDelphi (Win32) verwenden
 
komisch ich kann in turbodelphi komponenten installieren aber es klappt nicht immer

WM_CLOSE 10. Mär 2011 12:38

AW: Komponenten in TurboDelphi (Win32) verwenden
 
Das kann nicht sein, TurboDelphi hat keine Importfunktion für Komponenten.
Außerdem solltest du auf die Aktualität des Threads achten! Der ist schließlich fast 1,5 Jahre alt!

Jacques Murell 10. Mär 2011 12:58

AW: Komponenten in TurboDelphi (Win32) verwenden
 
Über die dclusr kann man heute wie auch damals weiterhin problemlos Komponenten in die IDE integrieren.

himitsu 10. Mär 2011 13:06

AW: Komponenten in TurboDelphi (Win32) verwenden
 
Die allererste TDE-Version hatte einen "Fehler", wodurch sowas angeblich doch gehn sollte.
Offiziell ist es eben "nicht erlaubt" ... es war halt eine der Beschränkungen, aber dafür war's eben kostenlos.

Jacques Murell 10. Mär 2011 13:10

AW: Komponenten in TurboDelphi (Win32) verwenden
 
Zitat:

Offiziell ist es eben "nicht erlaubt"
Offiziell nicht erlaubt ist das Hinzufügen neuer Packages; jedoch nicht das Hinzufügen neuer Packages in ein bereits existierendes installiertes Package. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:38 Uhr.
Seite 3 von 3     123   

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