AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C(++) -> Delphi: IN const PVOID pContext...
Thema durchsuchen
Ansicht
Themen-Optionen

C(++) -> Delphi: IN const PVOID pContext...

Ein Thema von Die Muhkuh · begonnen am 14. Aug 2007 · letzter Beitrag vom 15. Aug 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 14:16
Hi,

hab hier folgende C(++) Funktion (?):

Code:
typedef DWORD (WINAPI *OnButtonsCB)(IN int device,
                                             IN DWORD dwButtons,
                                             IN const PVOID pContext);
Soweit komme ich in Delphi:

Delphi-Quellcode:
function OnButtonsCB(device: Integer; dwButtons: DWORD;
  const pContext: {PVOID}): DWORD;
Ist das soweit richtig? Was fang ich mit diesem PVOID an? Könnte das ein Pointer auf eine Procedure sein?

Mfg
Manuel
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 14:24
PVOID = Pointer to void = void*, also in Delphi einfach Pointer.

WINAPI bedeutet außerdem, wenn ich mich nicht irre, dass du deine Funktion als stdcall deklarieren musst.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 14:26
Hi OregonGhost,

ein einfacher Pointer, ok.

Das mit WINAPI und stdcall wird wohl auch sein, da eine *.lib-Datei benötigt wird.
Manuel
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 14:36
Hallo,

was hat denn eine Lib damit zu tun ?
AFAIK ist die Lib in c++ in diesem Fall dafür,
dass du nach dem Einbinden direkt die Dll-Funktionen aufrufen kannst.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

Re: C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 14:47
Hieße das, dass ich die .lib nicht mit Delphi ansprechen kann?
Manuel
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 14:48
Zitat von hoika:
AFAIK ist die Lib in c++ in diesem Fall dafür,
dass du nach dem Einbinden direkt die Dll-Funktionen aufrufen kannst.
Ein Lib ist doch in C/C++ nur eine statisch gelinkte Bibliothek. Eine solche Bibliothek wird einfach schon für das Linken benötigt und es werden eben die dort gelinkten Code-Stücke direkt in das Programm übernommen. Zur Laufzeit ist die entsprechende *.lib (soweit ich weiß) nicht mehr nötig, dyn. Laden erst zur Laufzeit ist zudem nicht vorgesehen.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 14:54
Hi,

dann hol ich ein bisschen weiter aus.

Ich versuche gerade die Header-Datei des Logitech-G15-SDKs zu übersetzen. Dazu gibt es eine lglcd.h, sowie diese lglcd.lib.

In C(++) benutzen die das dann so:

Code:
// include the Logitech LCD SDK header
#include "../../include/lglcd.h"
// make sure we use the library
#pragma comment(lib, "lgLcd.lib")
Ich möchte, per Delphi, das LCD der G15-Tastatur ansteuern.
Manuel
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#8

Re: C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 14:59
Mit eine lib wird Dir das nicht ohne weiteres gelingen. Wenn die durch einen Borland-Compiler erstellt wurde ist Delphi glaube ich durchaus dazu in der Lage die zu verwenden, bei jedem anderen Compiler hingegen nicht. Der Code ist eben C++ spezifisch gelinkt wurden, da werden die Dinge entsprechend etwas anders aussehen als in Delphi (Namensräume, andere Klassen, Templates, ...), so dass Delphi die eben nicht verwenden kann.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#9

Re: C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 15:02
Hi,

dann wird mein vorhaben wohl scheitern, da die .lib in C(++) geschrieben wurde.

Jedoch, fällt mir gerade ein, haben andere es schon übersetzt. Jetzt versteh ich auch, warum die noch über eine DLL gehen. Die DLL wurde dann wohl in C(++) geschrieben und linkt diese .lib mit ein.
Manuel
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#10

Re: C(++) -> Delphi: IN const PVOID pContext...

  Alt 14. Aug 2007, 16:33
Code:
typedef DWORD (WINAPI *OnButtonsCB)(IN int device,
                                             IN DWORD dwButtons,
                                             IN const PVOID pContext);
uebersetzt zu:
Delphi-Quellcode:
type
  OnButtonsCB = function(device: Integer; dwButtons: DWORD; pContext: Pointer): DWORD; stdcall;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08: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