2009-04-15 7 views
0

Ich benutze turbopower's stExport aus dem Paket systools. Verwenden Sie es, um ein Dataset zu exportieren. Das funktioniert großartig. Die Klasse stellt FOnExportProgress zur Verfügung. Diese Klasse hat keine visuelle Komponente und so kann kein Objektinspektor einfach doppelklicken und Delphi erstellt das Ereignis für mich. Kann jemand ein einfaches Beispiel dafür geben, wie man das Ereignis manuell erstellt?Turbo Power systools stExport-Ereignis in Delphi

Für die meisten visuellen Komponenten bietet Delphi dies für Sie an. Beispiel:

procedure TForm1.Button1Click(Sender: TObject); 
begin 
//code here 
end; 

Wie erstellt man das manuell.

Ich schließe ein bisschen der Klasse ein, die sich auf das Ereignis bezieht.

type 
    TStExportProgressEvent = procedure (Sender : TObject; Index : Integer; 
    var Abort : Boolean) of object; 

FOnExportProgress : TStExportProgressEvent; 
    FOnQuoteField : TStOnQuoteFieldEvent; 

if Assigned(FOnExportProgress) then 
     FOnExportProgress(self, Count, Abort); 

Wie kann ich OnExportProgress manuell zuweisen?

Bitte ein einfaches Beispiel angeben!

Vielen Dank.

Antwort

1

Unter der Annahme, das alles in Ihrer Form geschieht

type 
    TForm1 = class(TForm) 
    published 
    procedure FormCreate(Sender: TObject); 
    private 
    FMyExport : TStDBtoCSVExport; 
    procedure TForm1.MyExportProgressHandler(Sender : TObject; Index : Integer; 
              var Abort : Boolean);   
    end; 

procedure TForm1.Create(inOwner); 
begin 
    FMyExport := TStDBtoCSVExport.Create; 
    FMyExport.OnExportProgress := MyExportProgressHandler; 
end; 

procedure TForm1.MyExportProgressHandler(Sender : TObject; Index : Integer; 
             var Abort : Boolean); 
begin 
    { anything you like } 
end; 
+0

Hallo und vielen Dank. Funktioniert nicht im vorhandenen Projekt. Neues Projekt versucht. Der Teil TForm1.MyExportProgressHandler (...) Delphi beschwert sich über nicht deklarierte Bezeichner. Vielleicht würde mich ein Beispiel mit dem vollen Layout der Einheiten über diesen Buckel hinwegbringen. Nochmals vielen Dank –

+0

Ich habe keine volle Einheit sorry das war von der Spitze meines Kopfes. Um welchen Bezeichner handelt es sich konkret? – LachlanG

+0

Prozedur TForm1.MyExportProgressHandler (...). Auch nicht sicher über InOwner. Könntest du das ausarbeiten? Ich meine nicht eine ganze Einheit, sondern nur, wohin der Implementierungsteil geht und vielleicht einen Knopf hinzufügt und das sollte mir helfen, herauszufinden, wo ich Anweisungen platzieren muss. Danke noch einmal. Kann ich etwas liefern? –