![]() |
Delphi-Version: 7
Procedureübergabe bei Threads
Hallo :-)
Ich habe folgendes Problem: Ich bin dabei eine Klasse zu schreiben, die Dateien downloaded (mittels Thread). Dazu soll der User u.a. als Übergabe 2 Funktionen mitgeben: Eine update-Funktion, die aktuelle Geschwindigkeit und Fortschritt anzeigt Eine Fertig-Funktion, die aufgerufen werden soll wenn der Download fertig ist.
Delphi-Quellcode:
Soweit sogut, das funktioniert.
type
TBinFertig = procedure(p:pointer;index:string); Tupdaten = procedure(status:string;akt,max:integer;speed:real); Tdownload = class(Tthread) FBinFertig:TBinFertig; Fupdaten:Tupdaten; ... constructor Create(url:string;Bf: TBinFertig;up:Tupdaten); Nun möchte ich eine weitere Klasse machen, die eine Datei downloaded, bearbeitet und im Anschluss ausgibt, dass sie fertig ist.
Delphi-Quellcode:
Klappt aber nicht mit dem Fehler:
type tspeziell=class
datenbearbeitet:string; procedure fertig(p:pointer;index:string); procedure start; end; procedure tspeziell.fertig(p:pointer;index:string); begin // bearbeitedaten... end; procedure tspeziell.start; begin tdownload.create('http://www.google.de',fertig,nil); //Hier kommt der Fehler, wenn ich die Procedure "Fertig" übergebe end; incompatible types: regular procedure and method pointer Wenn ich jedoch die fertig-Procedure nicht als von Child von Tspeziell einbaue funktioniert sie, jedoch habe ich dann keinen Zugriff auf die internen Datas, die ich unbedigt benötige. Wie kann ich das lösen? |
AW: Procedureübergabe bei Threads
Eine Methode wird als Procedure bzw. Function of object deklariert.
Delphi-Quellcode:
type
TDingens = procedure(Wuppdi: integer) of object; |
AW: Procedureübergabe bei Threads
Ah danke!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 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