![]() |
Ordner-Durchsuchen-Komponente
Ich habe mir eine Komponente gebastelt um einen Ordner zu wählen:
Delphi-Quellcode:
Nun wollte ich das als Kompoennete einstellen!
unit UDurchsuchen;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, JvExControls, JvComponent, JvXPCore, JvXPButtons, ExtCtrls, ComCtrls, ShellCtrls; type TFDurchsuchen = class(TForm) Directorys: TShellTreeView; Panel1: TPanel; Panel2: TPanel; JvXPButton2: TJvXPButton; JvXPButton1: TJvXPButton; procedure JvXPButton2Click(Sender: TObject); procedure JvXPButton1Click(Sender: TObject); private Abort : Boolean; Path : TFileName; public function Execute : Boolean; function getPath : TFileName; end; var FDurchsuchen: TFDurchsuchen; implementation {$R *.dfm} function TFDurchsuchen.Execute : Boolean; begin Abort := false; inherited ShowModal; Result := not Abort; end; procedure TFDurchsuchen.JvXPButton2Click(Sender: TObject); begin Abort := true; close; end; procedure TFDurchsuchen.JvXPButton1Click(Sender: TObject); begin Path := Directorys.Path; close; end; function TFDurchsuchen.getPath : TFileName; begin Result := Path; end; end. Muss ich es dazu nur registieren? |
Re: Ordner-Durchsuchen-Komponente
Grundsätzlich, ja, obwohl TForm als basisklasse für eine Komponente nicht optimal ist.
|
Re: Ordner-Durchsuchen-Komponente
Was würdest du den Vorschlagen?
|
Re: Ordner-Durchsuchen-Komponente
Vielleicht nen Panel
|
Re: Ordner-Durchsuchen-Komponente
Liste der Anhänge anzeigen (Anzahl: 1)
Ein Panel mit Systemleiste oben?
|
Re: Ordner-Durchsuchen-Komponente
Du machst die eine Komponente vom Type TComponent und dann so was
Delphi-Quellcode:
das dann mit Register registrieren und fertig :)TDurchsuchenAdapter=class(TComponent) protected form:TFDurchsuchen; fpath: string; public function execute: boolean; property path... end; |
Re: Ordner-Durchsuchen-Komponente
Weiteres Problem: Man muss die Jedis installiert haben, um dein Komponente nutzen zu können. Warum nicht einfach die von Windows schon bereitgestellte API Funktion in eine Klasse kapseln?
![]() |
Re: Ordner-Durchsuchen-Komponente
Okay das mit den Jedis kann ich rausnehmen!
Nur jetzt meckert er rum:
Delphi-Quellcode:
type
TDurchsuchen = class(TComponent) private Formular : TFDurchsuchen; public constructor Create; destructor Destroy; function Execute : Boolean; function getPath : TFileName; end; type TFDurchsuchen = class(TForm) Directorys: TShellTreeView; Panel1: TPanel; Panel2: TPanel; JvXPButton2: TJvXPButton; JvXPButton1: TJvXPButton; procedure JvXPButton2Click(Sender: TObject); procedure JvXPButton1Click(Sender: TObject); private Abort : Boolean; Path : TFileName; { public function Execute : Boolean; function getPath : TFileName;} end; Zitat:
|
Re: Ordner-Durchsuchen-Komponente
Wenn du die beiden Deklarationen vertauschst, gehts wieder.
|
Re: Ordner-Durchsuchen-Komponente
Du könntest auch TFrame als Basisklasse nehmen, und dann die nicht verfügbaren Eigenschaften/Methoden auf die Form (parent) umlenken.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 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