Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Stringübergabe in andere Unit (https://www.delphipraxis.net/38174-stringuebergabe-andere-unit.html)

bundy 15. Jan 2005 19:21


Stringübergabe in andere Unit
 
Hallo Leute !

Ich hab da mal eine Frage:

Ich proge gerade einen Datenbankclient und verwende folgende Unit um einen Neuen Threat zu starten.

Delphi-Quellcode:
unit Threats;

interface

uses
  SyncObjs,Classes {$IFDEF MSWINDOWS} , Windows {$ENDIF},Datamodule_Kundenstammdaten_unit,Kundenstammdaten_unit;

type
  AlleKundenladen = class(TThread)

  private
    procedure SetName;
  protected
    procedure Execute; override;
    procedure Laden;
  end;


var KritischerAbschied:TCriticalSection;

implementation

{ Important: Methods and properties of objects in visual components can only be
  used in a method called using Synchronize, for example,

      Synchronize(UpdateCaption);

  and UpdateCaption could look like,

    procedure Test.UpdateCaption;
    begin
      Form1.Caption := 'Updated in a thread';
    end; }

{$IFDEF MSWINDOWS}
type
  TThreadNameInfo = record
    FType: LongWord;    // must be 0x1000
    FName: PChar;       // pointer to name (in user address space)
    FThreadID: LongWord; // thread ID (-1 indicates caller thread)
    FFlags: LongWord;   // reserved for future use, must be zero

  end;
{$ENDIF}

{ Test }

procedure AlleKundenladen.SetName;
{$IFDEF MSWINDOWS}
var
  ThreadNameInfo: TThreadNameInfo;
{$ENDIF}
begin
{$IFDEF MSWINDOWS}
  ThreadNameInfo.FType := $1000;
  ThreadNameInfo.FName := 'meinThreat';
  ThreadNameInfo.FThreadID := $FFFFFFFF;
  ThreadNameInfo.FFlags := 0;

  try
    RaiseException( $406D1388, 0, sizeof(ThreadNameInfo) div sizeof(LongWord), @ThreadNameInfo );
  except
  end;
{$ENDIF}
end;

procedure AlleKundenladen.Execute;
begin
  KritischerAbschied.Enter;
  SetName;
  //kundenstammdaten_form.Caption:='Kundenstammdaten - Datentransfer.....' ;
  Laden;
  //kundenstammdaten_form.Caption:='Kundenstammdaten';
  KritischerAbschied.Leave;
end;

procedure AlleKundenladen.Laden;
begin
  DataModule_Kundenstammdaten.Query_Kunden.SQL.Text:='select * from kunden';  //----> An dieser Stelle will ich einen String übergeben z.B Vorname und Nachname als Suchoption für SQL
  DataModule_Kundenstammdaten.Query_Kunden.Active:=true;
end;


end.
Den Threat rufe ich so auf

Delphi-Quellcode:
KritischerAbschied:=TCriticalSection.Create;

AlleKundenladen.Create(false);
Wie kann ich beim erstellen des Threats einen String übergeben :gruebel:

Jelly 15. Jan 2005 19:26

Re: Stringübergabe in andere Unit
 
Zitat:

Zitat von bundy
Wie kann ich beim erstellen des Threats einen String übergeben :gruebel:

Indem du dir den Constructor Create in deiner Threadklasse neu deklarierst.

bundy 15. Jan 2005 19:27

Re: Stringübergabe in andere Unit
 
und wie mach ich das :roll:

jfheins 15. Jan 2005 19:58

Re: Stringübergabe in andere Unit
 
Delphi-Quellcode:
constructor Create (Parameter); override;

bundy 15. Jan 2005 20:48

Re: Stringübergabe in andere Unit
 
:lol: Hy danke habs hinbekommen :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 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