AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Funktion aus dem Hauptthread in einem extra Thread ausführen
Thema durchsuchen
Ansicht
Themen-Optionen

Funktion aus dem Hauptthread in einem extra Thread ausführen

Ein Thema von Florian_Meyer · begonnen am 28. Jul 2006 · letzter Beitrag vom 29. Jul 2006
Antwort Antwort
Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#1

Re: Funktion aus dem Hauptthread in einem extra Thread ausfü

  Alt 29. Jul 2006, 01:28
hi

also vll ist das ein bissel über das ziel hinnaus aber egal...

ich würde, wenn du das echt über nen thread regel willst / musst das so machen:

Delphi-Quellcode:

unit untTResolve;

interface

uses Classes;

type
  TResolveEvent = procedure(Sender : TObject; Address : String; Ip : String) of Object;

type TResolve = class(TThread)
private
  _toResolve : String;
  FOnRes : TResolveEvent;

protected
  procedure execute; override;

public
  property OnIpResolved : TResolveEvent read FOnRes write FOnRes;
  procedure resolve(ip : String);
end;

implementation

{ TResolve }

procedure TResolve.execute;
var
  ResAddress : String;

begin
  inherited;

  // do resolving and all that stuff
  // ResAddress = fubar

  if assigend(FOnRes) then
    FOnRes(self, ResAddress, self._toResolve);

  self.Suspend();
end;

procedure TResolve.resolve(ip: String);
begin
  self._toResolve := ip;
  self.resume();
end;

end.

/// and the usage is....

procedure TForm1.Button1Click(Sender: TObject);
var
  res : TResolve;

begin
  res := TResolve.Create(true);
  res.OnIpResolved := self.HandleResolve;

  res.resolve();
end;

procedure TForm1.HandleResolve(Sender : TObject; Address : String; Ip : String);
begin
  listBox1.fubar := Address;
  // well normaly listBox1.items[...] and so on....
end;
so ich habe den code nicht getestet & auch nicht geprüft...
Aber summa summarum sollte es so gehen.. auch wenn das per event vll. etwas umständlich ist ^^

ist hoffentlich wenigstens ein ansatz...

cya
Corelgott

edit:

aso res local zu machen und nichht zu freen ist vll nicht sooo glücklich ^^...
also vll das noch anpassen ^^
wer Rächtschraibfehler findet daaf sie behalten...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 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