AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

C++ DLL Header -> Delphi

Ein Thema von f.siebler · begonnen am 28. Aug 2007 · letzter Beitrag vom 28. Aug 2007
 
Robert Marquardt
(Gast)

n/a Beiträge
 
#10

Re: C++ DLL Header -> Delphi

  Alt 28. Aug 2007, 12:21
Also die C-Deklaration der Funktion ist selten daemlich. "BYTE * const pbySerialNumbers" wird beschrieben als Zeiger auf DWORDs. Warum ist er dann nicht genau so deklariert? Die const-Angabe bei den Zeigern bedeutet das der Zeiger innerhalb der Funktion nicht veraendert werden kann, die Daten auf die er zeigt schon.

Delphi-Quellcode:
// pbySerialNumbers so deklarieren wie es der Kommentar sagt
function GetSerialNumbers(pbySerialNumbers: PDWORD;
  // hier funktioniert var am besten, auch wenn der Wert dem Kommentar nach nicht veraendert wird (noch so ein dummer Fehler, die Funktion koennte hier einen zu kleinen Puffer signalisieren)
  var dwSerialNumberLength: DWORD;
  // eindeutig ein Output-Parameter den man mit var oder out deklariert)
  var dwNbDevices: DWORD): DWORD; cdecl; external 'die.dll';

var
  Serials: array [0..79] of DWORD;
  LenSerials: DWORD;
  NumDevices: DWORD;
begin
  LenSerials := 80;
  NumDevices := 0;
  GetSerialNumbers(@[Serials[0], LenSerials, NumDevices);
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:35 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