Forum Delphi.cz

Delphi => Obecné => Téma založeno: František 07-10-2019, 08:08:49

Název: vytvorenie eventu
Přispěvatel: František 07-10-2019, 08:08:49
ako vytvoriť event na, ktorý zachytí pripojenie/odpojenie usb zariadenia
Název: Re:vytvorenie eventu
Přispěvatel: Morrison 07-10-2019, 09:43:31
Už jsi založil jedno téma, v němž jsi se na toto ptal:

https://forum.delphi.cz/index.php/topic,15602.0.html (https://forum.delphi.cz/index.php/topic,15602.0.html)
Název: Re:vytvorenie eventu
Přispěvatel: František 07-10-2019, 18:14:13
dakujem za upozornenie.... ale teraz ma zaujima skor ten mechanizmus vytvoenia eventu.v delfi.. tak vseobecne... teraz to mam cez timer ale nezda sa mi to "to prave orechove" ...
Název: Re:vytvorenie eventu
Přispěvatel: Morrison 07-10-2019, 22:35:47
Tak můžeš si třeba udělat message handler jako metodu formuláře.

Kód: Delphi [Vybrat]
  1. type
  2.   TForm1 = class(TForm)
  3.   private
  4.     procedure MyWMDeviceChangeHandler(var Msg:TMessage); message WM_DEVICECHANGE;
  5.   end;
  6.  
  7. implementation
  8.  
  9. procedure TForm1.MyWMDeviceChangeHandler(var Msg: TMessage);
  10. begin
  11.   // tato proc. bude zavolana po prijeti zpravy WM_DEVICECHANGE
  12.   // obsluha a dekodovani parametru message viz dokumentace Microsoftu
  13. end;
  14.  
Název: Re:vytvorenie eventu
Přispěvatel: miroB 08-10-2019, 09:55:34
Tak můžeš si třeba udělat message handler jako metodu formuláře.

Kód: Delphi [Vybrat]
  1. type
  2.   TForm1 = class(TForm)
  3.   private
  4.     procedure MyWMDeviceChangeHandler(var Msg:TMessage); message WM_DEVICECHANGE;
  5.   end;
  6.  
  7. implementation
  8.  
  9. procedure TForm1.MyWMDeviceChangeHandler(var Msg: TMessage);
  10. begin
  11.   // tato proc. bude zavolana po prijeti zpravy WM_DEVICECHANGE
  12.   // obsluha a dekodovani parametru message viz dokumentace Microsoftu
  13. end;
  14.  
Okrem detekcie udalosti (odobrané/pridané), treba zistiť aj pridelené písmeno (Letter) USB disku.
Nie je to triviálne. Preto prikladám odkaz na hotové a funkčné riešenie:
Improve code for detecting USB drive insertion & removal, odpoveď od Geert G.
https://www.experts-exchange.com/questions/24135127/Improve-code-for-detecting-USB-drive-insertion-removal.html (https://www.experts-exchange.com/questions/24135127/Improve-code-for-detecting-USB-drive-insertion-removal.html)
Název: Re:vytvorenie eventu
Přispěvatel: František 08-10-2019, 10:53:18
1. ďakujem, nejedná sa mi o USB disk, ale o zariadenie FTDI, ktoré si už potom očekujem rutinou, stačí mi zachytiť len zmenu pripojenie/odpojene USB všeobecne ....
2. čo sa týka eventu všeobecne, myslel som skôr na vytvorenie eventu typu: zmenila sa premenná, povedz ostatným, koho to zaujíma, (vyvolaj udalosť/event) že sa to stalo (niečo ako TFDEventAlerter - EXCEPTION z Firebird)
Název: Re:vytvorenie eventu
Přispěvatel: Jirka 08-10-2019, 12:22:24

2. čo sa týka eventu všeobecne, myslel som skôr na vytvorenie eventu typu: zmenila sa premenná, povedz ostatným, koho to zaujíma, (vyvolaj udalosť/event) že sa to stalo (niečo ako TFDEventAlerter - EXCEPTION z Firebird)

použití  WM_USER  by nepomohlo ?