WinFuture-Forum.de: [delphi] Methode Zur Laufzeit Festlegen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[delphi] Methode Zur Laufzeit Festlegen Wie bekomme ich das hin ?


#1 Mitglied ist offline   HollaDieWaldfee2005 

  • Gruppe: aktive Mitglieder
  • Beiträge: 39
  • Beigetreten: 01. Mai 05
  • Reputation: 0

geschrieben 21. Juli 2008 - 20:47

Hallo,

ich habe mal eine Frage euch Winfutianer. Und zwar habe ich in der Classe TForm1 eine Methode, die ich zur Laufzeit aus einer Unit aufgerufen haben möchte, das muss man sich wie folgt vorstellen:

Die Unit:

Unit blabla;

interface

var Interrupt:Procedure (CurrentAddress:Longint);

Procedure DoNothing; forward;

Procedure Init;
Procedure Suche_Ausfuehren;

implementation

Procedure Suche_Ausfuehren;
begin
...
if CurrentAdresse mod 100000 then Interrupt (CurrentAdress);
...
end;

Procedure Init;
begin
Interrupt:=DoNothing (CurrentAdress);
end;


unit main;

interface

uses
  Windows, Messages, SysUtils, Classes, Controls, Forms, StdCtrls,
  ComCtrls, ExtCtrls, TLHelp32, ShellApi, Variants, Dialogs, Buttons,
  Graphics, Menus, blabla;

type
  TForm1 = class(TForm)
	ProgressBar1: TProgressBar;
	Button3: TButton;
  private
	{ Private-Deklarationen }
  public
	Procedure Refresh (currentadress:Longint);
  end;

var
  Form1   : TForm1;

Procedure Tform1.Refresh (currentadress:Longint);
Begin
ProgressBar.Position := CurrentAdress;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
blabla.Interrupt:=Tform1.Refresh (CurrentAdress); // <-- Wie bekomme ich einen Aufruf von der Methode Refresh für den Interrupt hin?
end;


Ich möchte recht ungern Threads oder Timer benutzen. Kann jemand helfen ? Zur Not, wie könnte ich die ProgressBar ansprechen, falls es keine möglichkeit gibt, die methode so wie oben aufzurufen ?

Dieser Beitrag wurde von HollaDieWaldfee2005 bearbeitet: 21. Juli 2008 - 20:50

0

Anzeige



#2 Mitglied ist offline   christoph_hausner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 68
  • Beigetreten: 23. August 07
  • Reputation: 0

geschrieben 23. Juli 2008 - 13:19

Hallo HollaDieWaldfee2005,

versuchs mal so, sollte eigentlich funktionieren.

var
  Interrupt: procedure (CurrentAddress: Longint) of object;

// ...

procedure Init;
begin
  Interrupt := DoNothing;
end;

// ...

procedure TForm1.FormShow(Sender: TObject);
begin
  blabla.Interrupt := Refresh;
end;

0

#3 Mitglied ist offline   HollaDieWaldfee2005 

  • Gruppe: aktive Mitglieder
  • Beiträge: 39
  • Beigetreten: 01. Mai 05
  • Reputation: 0

geschrieben 16. August 2008 - 13:17

Danke für den Tipp, es läuft Perfekt!
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0