AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auf 'Parent Object' zugreifen

Ein Thema von Julian M. · begonnen am 5. Feb 2019 · letzter Beitrag vom 6. Feb 2019
 
Julian M.

Registriert seit: 28. Dez 2010
41 Beiträge
 
#7

AW: Auf 'Parent Object' zugreifen

  Alt 6. Feb 2019, 12:12
Ich danke euch sehr für das Feedback! Wirklich toll, wie hier Probleme aufgezeigt werden.

Die StringList lebt so lange, bis sie durch erneuten Aufruf des FileExplorer (versehentlich habe ich einmal den Namen "FileWalker" hier eingeschleust)
neu created wird.

Die Gefahren des Multithreadings sind mir bewusst, da Freepascal leider keine anonymen Methoden unterstützt, ist mir die Nutzung von Synchronize eigentlich etwas zu aufwendig.
Als (zugegeben dürftige) Alternative nutze ich die Windows Messages.

Daher beim Erstellen des FileExplorer Threads auch die Übergabe der receiverformhandle: HWND
Der Thread ruft dann nach Befüllen der StringList den Befehl auf: SendMessage(Freceiverformhandle, 1125, 1, 0);

Delphi-Quellcode:
procedure TForm1.WndProc(var Msg: TMessage);
begin
  inherited;
  if Msg.Msg = 1125 then
    case msg.WParam of
      1: myInst.fillLvWithSl(); //Der FileExplorer Thread ist fertig, jetzt die Listview füllen.
    end;
end;

Jetzt ist mir leider noch nicht klar, warum die Nutzung eines Pointers für die StringList schlecht ist?
Klar kann ich auch eine Kopie der StringList übergeben, aber bedeutet das nicht mehr Rechenaufwand?
Es gibt nur diese eine Instanz der StringList die wie erwähnt ausschließlich durch den Thread erstellt und befüllt wird.
Danke für den Hinweis, dass Thread.Start nicht notwendig ist. Freue mich was zu lernen.


Liebe Grüße, Julian
  Mit Zitat antworten Zitat
 


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 19:25 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