Announcement

Collapse
No announcement yet.

Query Ergebnis aus Thread and Hauptform Query übergeben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Query Ergebnis aus Thread and Hauptform Query übergeben

    Hallo,

    wie kann ich eine SQL_Query Ergebnis, welche in einem Thread erstellt wurde an ein Query im Hauptprogramm übergeben, so daß dort die Datenb weiter verwendet werden können.

    Michael.Nehring

  • #2
    Hallo,

    wenn die Datenmenge fertig ist, wird aus der TThread-Methode <b>Execute</b> heraus eine eigene Methode über <b>Synchronize</b> aufgerufen und <b>erst</b> dort die Verbindung über TDataSource hergestellt (zur Compilierungszeit darf diese Verbindung noch nicht bestehen):
    <pre>
    constructor TQueryKursThread.Create(Query : TQuery;
    iID : Integer;
    DS : TDataSource);
    begin
    // TThread-Instanz im angehaltenen Zustand erzeugen
    inherited Create(True);
    FAktieID := iID;
    FQuery := Query;
    // TDataSource-Handle sichern
    FDS := DS;
    FreeOnTerminate := True;
    // Thread soll seine Arbeit aufnehmen
    Resume;
    end;

    procedure TQueryKursThread.Execute;
    begin
    if FAktieID = 0 then Exit;
    FQuery.Close;
    FQuery.Params[0].Value := FAktieID;
    FQuery.Open;
    Synchronize(ShowThreadValues);
    end;

    procedure TQueryKursThread.ShowThreadValues;
    begin
    // TDataSource-Komponente für TDBGrid aktivieren
    FDS.DataSet := FQuery;
    end;
    </pre&gt

    Comment


    • #3
      Danke Herr Kosch.

      M.Nehrin

      Comment

      Working...
      X