AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi puplic-Procedure eines Thread in anderer Unit nutzen
Thema durchsuchen
Ansicht
Themen-Optionen

puplic-Procedure eines Thread in anderer Unit nutzen

Ein Thema von Helmi · begonnen am 3. Jun 2010 · letzter Beitrag vom 3. Jun 2010
Antwort Antwort
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

puplic-Procedure eines Thread in anderer Unit nutzen

  Alt 3. Jun 2010, 09:55
Hallo,

ich stehe gerade total auf dem Schlauch.

Ich habe einen Thread mit einer public-function.

Delphi-Quellcode:
type
  TDatenThread = class(TThread)
  private
    { Private-Deklarationen }
  public
    { Private-Deklarationen }
    constructor Create;
    destructor Destroy; override;

    function Datei_speichern(Datei: TFileName; Text: String): Boolean;
  protected
    { Protected-Deklarationen }
    procedure Execute; override;
  end;
im private-Bereich war eine procedure die ich nun in eine eigene Unit ausgelagert habe.
Diese procedure soll aber trotzdem noch auf diese public-function "Datei_speichern" zugreifen.

Nur wie kann ich diese function in der anderen Unit benutzen?

die neue Unit schaut so aus (gekürzt):
Delphi-Quellcode:
unit BasisUnit;

interface

uses
  Classes, SysUtils, ThreadUnit, CommonUnit;

//type

{ Aufrufe }
  function NCUpgrade_Infos_auslesen(SL_NCUpgrade: TStringList;
    out Programmliste: TStringList): TNCUpgrade_Daten;

implementation

//----------------------------------PROCEDURE---------------------------------//

//----------------------------------FUNCTION----------------------------------//

function NCUpgrade_Infos_auslesen(SL_NCUpgrade: TStringList;
  out Programmliste: TStringList): TNCUpgrade_Daten;
var
  S_Text : String;
  F_Datei : TFileName;

begin
  S_Text := 'ddd';
  F_Datei := 'irgendeineDatei';

  //Datei speichern
  Datei_speichern(F_Datei, S_Text); //<==
end;

end.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: puplic-Procedure eines Thread in anderer Unit nutzen

  Alt 3. Jun 2010, 09:57
Du brauchst eine Instanz der Klasse.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

Re: puplic-Procedure eines Thread in anderer Unit nutzen

  Alt 3. Jun 2010, 10:01
Zitat von sirius:
Du brauchst eine Instanz der Klasse.
verständlich! - aber wie erhalte ich die bei einem Thread?

[Edit]
Schande auf mein Haupt!

Ich hab ja schon eine Instanz beim Erzeugen meines Thread.
Die kann/muss ich natürlich verwenden
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#4

Re: puplic-Procedure eines Thread in anderer Unit nutzen

  Alt 3. Jun 2010, 10:12
Zitat von Helmi:
Zitat von sirius:
Du brauchst eine Instanz der Klasse.
verständlich! - aber wie erhalte ich die bei einem Thread?
Naja, wie man eben eine Instanz einer Klasse erzeugt:

Instanz := TDataThread.Create; Das Problem könnte nur sein, daß der Thread automatisch ausgeführt wird, sobald er erzeugt wurde. Das ist aber wohl nicht das, was du hier willst.

Wenn die Methode Datei_speichern keine privaten Felder des Threads verwendet, kannst du sie auch als Klassenmethode deklarieren - dann brauchst du keine Instanz:

Delphi-Quellcode:
    class function Datei_speichern(Datei: TFileName; Text: String): Boolean;


//Datei speichern
TDataThread.Datei_speichern(F_Datei, S_Text); //<==
Uwe Raabe
  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 15:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz