AGB  ·  Datenschutz  ·  Impressum  







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

Logitech G19 LCD DLL

Ein Thema von Delphi-Narr · begonnen am 12. Apr 2013 · letzter Beitrag vom 13. Apr 2013
Antwort Antwort
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

Logitech G19 LCD DLL

  Alt 12. Apr 2013, 19:51
Hallo,

ich möchte gerne mit Delphi ein Applet für die Logitech G19 erstellen, welches zum Steuern von iTunes dient.
Die Steuerung von iTunes klappt weitestgehend gut, jetzt muss das Ganze nur noch über die G19 gesteuert werden können und
vorallem ein grafisches Output auf dem LCD erzeugen.
Das SDK von Logitech erzählt mir etwas von einer LogitechLCD.dll und einer LogitechLCD.h Datei, welche ich verwenden kann/soll/muss.
Beide Dateien liegen jetzt erstmal in meinem Projektordner.

Aus dem SDK:
Zitat:
LogiLcdInit
The LogiLcdInit () function makes necessary initializations. You must call this function prior to any other function in the library.
bool LogiLcdInit(wchar_t* friendlyName, int lcdType);
Ich hab mit TDump geprüft und die Funktion ist in der DLL vorhanden.
Also Deklaration habe ich
function LogiLCDInit(friendlyName:string; lcdType:integer):Boolean; external 'LogitechLCD.dll'; stdcall;
angegeben, das wird aber vermutlich nicht richtig sein?!
Auf jeden Fall erhalte ich den Fehler, die Deklaration unterscheide sich von vorheriger Deklaration.
Und was muss ich mit der LogitechLCD.h machen?

Viele Grüße!
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

AW: Logitech G19 LCD DLL

  Alt 12. Apr 2013, 19:54
function LogiLCDInit(friendlyName: PWChar; lcdType:integer):Bool; external 'LogitechLCD.dll'; stdcall; ...

if LogiLCDInit(PWChar(MeinDingsString), 0815) then ...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Logitech G19 LCD DLL

  Alt 12. Apr 2013, 20:01
Danke für die schnelle Reaktion,
leider erhalte ich aber immer noch den gleichen Fehler.

Nochmal zum Vergleich:
Delphi-Quellcode:
implementation
// LCD
function LogiLCDInit(friendlyName:PWChar; lcdType:integer):Boolean; external 'LogitechLCD.dll'; stdcall;
Zitat:
[DCC Fehler] Unit1.pas(65): E2037 Deklaration von 'LogiLCDInit' unterscheidet sich von vorheriger Deklaration
Edit:
Fehler gefunden (zumindest einen):
function LogiLCDInit(friendlyName:PWChar; lcdType:integer):Boolean; stdcall; external 'LogitechLCD.dll';
ist richtig.
Solange nun kein Funktionsaufruf eingetragen ist, kann ich das Ganze kompilieren.
Nun habe ich den Aufruf in ein OnClick eingefügt:
Delphi-Quellcode:

procedure TForm1.Button2Click(Sender: TObject);
begin
  if LogiLCDInit(('MeinTitel'), 2) then
   begin
     // ...
   end
  else
    showmessage('Initialisierung fehlgeschlagen');

end;

Beim / bzw. direkt nach dem Kompilieren erhalte ich nun den Fehler, dass der Einsprungpunkt nicht gefunden wurde:
Zitat:
Der Prodedureinsprungpunkt "LogiLCDInit" wurde in der DLL "[...]\MeinProjekt.exe" nicht gefunden.
Viele Grüße

Geändert von Delphi-Narr (13. Apr 2013 um 08:50 Uhr)
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Logitech G19 LCD DLL

  Alt 13. Apr 2013, 10:18
Moin,

wenn Du eine Funktion aus einer C-DLL heraus importieren willst, so musst Du die Schreibweise genau einhalten (LogiLcdInit ist nicht das gleiche wie LogiLCDInit) oder Du gibst bei der Deklaration noch den Namen an.

Wenn die Funktion in der DLL nun also LogiLcdInit heisst kannst Du sie so

function LogiLcdInit(friendlyName:PWChar; lcdType:integer):Boolean; stdcall; external 'LogitechLCD.dll'; deklarieren, oder so

function LogiLCDInit(friendlyName:PWChar; lcdType:integer):Boolean; stdcall; external 'LogitechLCD.dllname 'LogiLcdInit;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Logitech G19 LCD DLL

  Alt 13. Apr 2013, 12:28
Vielen Dank, jetzt funktioniert es endlich
Noch eine generelle Frage:
Auf der G19 sind ja Tasten zum steuern der Applets vorhanden und es werden Ereignisse ausgelöst, wenn eine gedrückt wird.
Im Debugger sieht das so aus:
Zitat:
Debug-Ausgabe: **Client Received SoftButtonNotification = 00000100 for device -2147483646 Prozess iTunesG19.exe (6100)

Wie kann ich diese Events in Delphi abfangen? Ich möchte eigentlich keinen Timer darauf ansetzen, den Status der Tasten immer über die DLL Funktion abzufragen.

Viele Grüße!
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:03 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