AGB  ·  Datenschutz  ·  Impressum  







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

DLL einbinden octopus.dll

Offene Frage von "multi-man"
Ein Thema von multi-man · begonnen am 22. Jul 2008 · letzter Beitrag vom 5. Aug 2008
Antwort Antwort
Wal

Registriert seit: 22. Sep 2006
57 Beiträge
 
#1

Re: DLL einbinden octopus.dll

  Alt 25. Jul 2008, 19:11
Zitat von multi-man:
Zitat von Wal:
Den Delphi-Wrapper findest du hier: Delphi Header für LibUSB

Evtl. bringt dich das weiter.

Wal
Leider nicht wirklich ..
Ich habe mal die LibUSB.pas mit in mein Testprogramm aufgenommen, aber leider passiert dabei das selbe ...

Chris
Du hast mich falsch verstanden, du sollst den Header nicht einbinden. Sondern die Dateien vergleichen um die Variabeln-Typen herauszubekommen.

Meiner Meinung müßte das so gehen:

Delphi-Quellcode:

type
  octopus_context = packed record
    usb_handle : pointer;
    error_str : pchar;
  end;
  Poctopus_context = ^octopus_context;


function octopus_init(var context: octopus_context): integer; external 'octopus.dll';
function octopus_open(context: octopus_context): integer; external 'octopus.dll';


var context:Poctopus_context;
 
begin
  new(context);
  try
    if octopus_init(context) = 0 then
      raise Exception.Create(context.error_str);

    if octopus_open(context) < 0 then
      raise Exception.Create(context.error_str);

  finally
    dispose(context);
  end;
end;
Mit octopus_init bekommst du den Pointer auf das USB_Handle mitgeteilt, den du bei jedem Zugriff auf das USB-Teil brauchst.
Deshalb am besten auch Global deklarieren.
Mit octopus_open übergibst du den Pointer der octopus.dll wieder.
Wenn ich keinen falschen Fehler mache müßte das so ungefähr gehen.
Ich weiß auch nicht genau ob man für den Pointer nicht erst Speicher reservieren muß.

Nur mein Delphi ist halt noch nicht so gut.

Wal
  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 23:31 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