Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Brauche Hilfe bei Service-Anwendung (https://www.delphipraxis.net/42032-brauche-hilfe-bei-service-anwendung.html)

iaby 12. Mär 2005 12:08


Brauche Hilfe bei Service-Anwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo zusammen,

ich bin gerade dabei, mein StatusLCD in eine Service-Anwendung umzuschreiben.
Dabei benutze ich das beispiel von Assarbad.
allerdings stoße ich gerade auf ein problem: wenn ich der HIDKomponente zur laufzeit ein OnChange Ereignis zuweisen will,
dann bringt mir der delphi-compiler hier eine fehlermeldung:
Code:
HidController.OnDeviceChange:= HidControllerDeviceChange;
zudem weiß ich nicht, ob der vorherige aufruf richtig ist:
Code:
HidController:= TJvHidDeviceController.Create(HidController);
normalerweise benutze ich da ja immer ".Create(self)", aber das geht hier nicht.
und wie sieht es hier eigentlich mit Application.ProcessMessages aus, denn das gibts ja auch net. gibts da eine alternative?
sowas wie bei non-VCL?

PS: ich benutze Delphi 7 personal, kann also nicht von haus aus eine Service-App schreiben!
mein proggi ist mal im anhang als .zip file und sollte sofort lauffähig sein! (bis auf die fehlermeldung des compilers)

danke schonmal im voraus für alle antworten!

gruss,
iaby

iaby 22. Mär 2005 19:25

Re: Brauche Hilfe bei Service-Anwendung
 
hier mal noch der fehler, der vom compiler ausgeschmissen wird:
[Fehler] StatusLCDService.dpr(180): Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur'

die hilfe zu dem fehler bringt mich absolut nicht weiter!

Basilikum 22. Mär 2005 19:53

Re: Brauche Hilfe bei Service-Anwendung
 
HidController.OnDeviceChange ist ein Methoden-Zeiger (Methode: Procedure/Function in einer Klasse); nicht kompatibel mit einer Prozedur ausserhalb einer Klasse.... sprich:

erstelle eine Klasse, die zumindest eine Methode HidControllerDeviceChange enthält:
Delphi-Quellcode:
type
  TServiceLCD = class(TObject)
  public
    procedure HidControllerDeviceChange(Sender: TObject);
  end;

var
  _ServiceLCD : TServiceLCD;

procedure TServiceLCD.HidControllerDeviceChange(Sender: TObject);
begin
  ......

[..]

procedure SERVICE_MAIN;
var i: integer;
begin
  HidController:= TJvHidDeviceController.Create(HidController);
  HidController.OnDeviceChange:=_ServiceLCD.HidControllerDeviceChange;
  .....

[..]

Begin
  _ServiceLCD:=TServiceLCD.Create();

  PROG_MAIN;

iaby 24. Mär 2005 06:25

Re: Brauche Hilfe bei Service-Anwendung
 
vielen dank Basilikum!
funktioniert jetzt einwandfrei

wäre ich aber von selbst nie drauf gekommen!

gruss,
iaby


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