Zitat von
JasonDX:
Zitat von
Andru:
Die Funktionsdoku gibt Folgendes wieder:
Code:
OpenPlayer(
HANDLE handle,
char
ip,
int port,
LIVEMODE mode,
int buffers,
int buffersize,
int priority)
Was mach ich nun aber mit 'Char'? Glaube die Doku ist für C oder C++.
Wie übergebe ich die
IP? Kann ich daraus einfach einen String machen und übergeben?
Ein Char ist ein 8Bit (1Byte) grosser Datentyp. Ein String ist eine aneinanderreihung von Chars, also ein array, eine Liste von Chars. Ein PChar wiederrum ist ein Zeiger auf einen Char.
Wenn ein Char verlangt wird, musst du ihm auch einen geben. Zu deutsch: Hier gehoert auch wieder ein char als parameter hin, sprich auch das was in Delphi als
Char bekannt ist. Wenn allerdings der Bezeicher "
ip" das sein soll, was er verspricht, so bleibt es mir ein Raetsel, wie man in einen 1Byte grossen Typ 4Byte reinkriegen soll. Die Funktion verlangt jedenfalls einen 1 Byte grossen Parameter.
Zitat von
Andru:
Was mach ich bei LIVEMODE? Hier steht mode=LOW_DELAY_MODE ... kann ich hier eine Konstante definieren?
LIVEMODE scheint ein selbst definierter Datentyp zu sein. Hier sollte in der Dokumentation beschrieben sein, was er genau ist. Er wird wahrscheinlich ein struct (Delphi: (
packed)
Record) sein, da laesst sich aber ohne genauere angaben nur darueber spekulieren.
greetz
Mike
Ich denke, bei LIVEMODE wird es sich um eine Kontante oder einen enumerierten Typen handeln - zumindest sind die Anzeichen dazu da. Die sollten wohl in einer .h-Datei (bei C/C++ Quellen) oder in dem Source direkt angegeben sein. Bei enumerierten Typen ist ja die Reihenfolge wichtig, bei Konstanten einfach nur der Wert.
Grüße.
/edit
Das "char" sollte wohl eher "*char
ip" heißen, also eine Zeichenkette - ich kann mir nicht vorstellen, dass eine
IP durch ein Zeichen komplett abgebildet werden kann. Du kannst ein String dort übergeben, aber wichtig bei DLLs ist, dass Du 'shortstring' benutzen mußt, da das C-Runtime-Environment (welche durch die
DLL-Ansteuerung eigentlich verwendet wird) den "normalen" Stringtypen von Delphi nicht interpretieren kann. Shortstring ist auf 255 Zeichen begrenzt - sollte aber locker für ipv4 bis ipv6 reichen