AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Beim Programmstart geht es, im Thread nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

Beim Programmstart geht es, im Thread nicht?

Ein Thema von Mattze · begonnen am 30. Jan 2011 · letzter Beitrag vom 1. Feb 2011
 
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

Beim Programmstart geht es, im Thread nicht?

  Alt 30. Jan 2011, 10:34
Hallo,

ganz komisches Problem bei dem ich keine Idee habe. Vielleicht könnt Ihr mir helfen:
Ich habe mir eine Laufwerksleiste gebastelt, die eigentlich ganz ausgezeichnet funktioniert.
Die nötigen zusätzlichen Daten (z. Bsp. die Laufwerksiconen) wurden zuerst direkt (seriell im Programmabschnitt) ermittelt. Das ging sowohl beim Programmstart als auch bei Devicechange (Devicearrival) problemlos.
Nun habe ich aber von Microsoft die Empfehlung gelesen, dass man das möglichst per Thread machen sollt, um das Devicechange nicht zu überfrachten.
Also habe ich einen Thread gebastelt.
Der wird auch beim Programmstart für jedes Laufwerk ordentlich aufgerufen und baut alles, auch die richtigen Iconen richtig zusammen.
Aber nicht bei Devicearrival.
Er arbeitet mit (ImageIndex und hint sind vom erweiterten TButton)

ImageListHandle:=SHGetFileInfo(pchar(pidl),0,Finfo ,
sizeof(TSHFILEINFO),
SHGFI_PIDL or SHGFI_SysIconIndex or SHGFI_Icon or SHGFI_Smallicon or
SHGFI_displayname);

ImageIndex:=FInfo.iicon;
hint:=FInfo.szDisplayName;


szDisplayname, Typename funktionieren alle dufte. Nur das Icon kriegt er einfach nicht und wählt da ein Standardicon.

Frage(n):
Warum geht das zwar beim Programmstart richtig, aber nicht in Devicearrival?
Warum geht das beim Programmstart, aber nicht im Thread aus dem Programm?
Warum geht das nur für das Icon nicht, alles andere wird mit der gleichen Funktion im Thread aber ordentlich gesetzt?

Was kann man da tun?

Gruß
Matthias
  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 21: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