![]() |
TListColumns in eigener Komponente ?
Ich leite eine Komponente von TImage ab. Kann ich dem irgendwie die Eigenschaft TImageColumns (von TListView) geben oder muss ich sowas selber programmieren ?
Delphi-Quellcode:
Das funktioniert nämlich nicht ...
unit MeinImage;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TMeinImage = class(TImage) FList : TListColumns; private { Private-Deklarationen } procedure Zeig; protected { Protected-Deklarationen } public { Public-Deklarationen } published { Published-Deklarationen } property List : TListColumns read FList write FList; end; procedure Register; implementation procedure Register; begin RegisterComponents('Plus', [TImage1]); end;
Delphi-Quellcode:
Undefinierter Bezeichner: 'TListColumns'.
|
Re: TListColumns in eigener Komponente ?
Ich dachte das wären TImageColumns?
|
Re: TListColumns in eigener Komponente ?
Ähm hab mich vertippt :oops:
Jedenfalls meine ich die Eigenschaft die TListView auch hat. Bei TListView heißt die Eigenschaft Columns. |
Re: TListColumns in eigener Komponente ?
Hallo,
wie soll das denn aussehen? |
Re: TListColumns in eigener Komponente ?
Ah! Der Compiler meckert, wiel er TListColumns nicht finden kann.
Schau mal in der OH nach ![]() wo TListColumns enthalten ist. Ich vermute die Unit ComCtrls. dann müsste das ganze funktionieren. Achte auch auf die Deklaration von FList. Wenn du sie so wie oben deklarierst, ist sie published, gleich wie die property. Ich empfehle dir FList als private zu deklarieren, da du ja sowieso über die property zugreifst. Diese wäre sonst ja sinnlos. greetz mytar :) |
Re: TListColumns in eigener Komponente ?
Also : ComCtrls ist die richtige Unit aber es funktioniert trotzdem nicht ...
Immernoch die gleiche Fehlermeldung ... :( Übrigens verstehe ich nicht so genau wieso ich FList in private deklarieren soll ... [edit] Uuups ... ich hab TImageListView geschrieben ... dann kann das auch nicht funktionieren :roll: jetzt klappts !! Danke für die schnelle Hilfe ![/edit] [edit2]Aber wenn ich jetzt auf die '...' im OI neben der Property 'List' drücke passiert nichts ... Ich kann der Liste nichts hinzufügen :( Weiß jemand wieso nicht ? Bei TListView öffnet sich ein fenster indem man Dateien laden kann...[/edit2] |
Re: TListColumns in eigener Komponente ?
Wenn ich mich irre ist dieses Posting zu ignorieren.
Hallo, aus Deinen Fragen glaube ich zu erkennen, dass Du noch nicht so viele eigene Komponenten geschrieben hast. Die Frage nach private lässt vermuten dass Dir die Unterschiede zwischen private, protected, public und published nicht ganz klar sind. Weiterhin ist auch zu erkennen, dass Du den constructor und destructor nicht überschrieben hast. Daraus ist zu schließen, dass FList nicht über TListColumns.Create erzeugt wird. Dadurch kommt es zwangsläufig zu einer Fehlermeldung. Ich empfehle Dir eines der zahllosen Delphi-Einsteiger-Komponententutorials von Anfang an intensiv durchzuarbeiten. |
Re: TListColumns in eigener Komponente ?
Ja das stimmt... Wenn du mir sagen könntest wo ich so ein Tutorial finden kann ...
Wegen dem constructor : Muss ich das dann so schreiben ?
Delphi-Quellcode:
constructor TMeinImage.Create(AOwner : TCustomListView);
begin List.Create(AOwner); ... end; |
Re: TListColumns in eigener Komponente ?
Hallo,
ein Tutorial gibt es z.B. hier ![]() oder hier ![]() Besser wäre es so:
Delphi-Quellcode:
Aber bei TListColumns handelt es sich um eine spezialisierte Collection für TListView. Du wärst wahrschnleich mit einem eigenen TCollection Nachfahren besser dran. Das setzt aber wiederum sehr weit fortgeschrittenes Wissen voraus. Damit wären wir wieder bei den Tutorials.
constructor TMeinImage.Create;
begin FListe:=TListCloumns.Create(Nil); ... end; destructor TMeinImage.Destroy; begin FListe.Free; ... end; |
Re: TListColumns in eigener Komponente ?
Danke für die Links. Aber warum passiert nichts wenn man auf die Pünktchen neben der Property
'List' klickt ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 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