Verfasst: 17.10.2007 16:55
Diese Version hier :
http://switch.dl.sourceforge.net/source ... .6.1.1.zip
In dem Paket ist ein Ordner namens Release\MSVC\Dll, dort liegt
eine Static Lib, die man fuer den Import benutzen kann. Einfach
nach "PureBasic\PureLibraries\Windows\Libraries\" kopieren.
Danach kannst du mit Hilfe von Import die Funktionen einfach
einbinden (siehe Code). Die DLL muss sich aber immer noch im
Programmpfad befinden.
Der Zusatz 'A' bei z.b. MediaInfoA_Open sagt nur das die Funktion
einen Ansi - String erwartet oder zurueck gibt. Die Ohne A moechten
dann Unicode.
Wenn du nichts mit cdecl und stdcall anzufangen weisst, kannst du mal
hier http://de.wikipedia.org/wiki/Aufrufkonvention reinschauen.
PB kann nur cdecl und stdcall, standard wird stdcall benutzt (Procedure).
Wenn man cdecl braucht benutzt man die Funktionen oder Schluesselwoerter
mit dem C (ProcedureC) usw.
Im Fall von MediaInfo werden alle Funktionen normal (also ohne C)
aufgerufen. Hab mich da wohl vertan
http://switch.dl.sourceforge.net/source ... .6.1.1.zip
In dem Paket ist ein Ordner namens Release\MSVC\Dll, dort liegt
eine Static Lib, die man fuer den Import benutzen kann. Einfach
nach "PureBasic\PureLibraries\Windows\Libraries\" kopieren.
Danach kannst du mit Hilfe von Import die Funktionen einfach
einbinden (siehe Code). Die DLL muss sich aber immer noch im
Programmpfad befinden.
Der Zusatz 'A' bei z.b. MediaInfoA_Open sagt nur das die Funktion
einen Ansi - String erwartet oder zurueck gibt. Die Ohne A moechten
dann Unicode.
Wenn du nichts mit cdecl und stdcall anzufangen weisst, kannst du mal
hier http://de.wikipedia.org/wiki/Aufrufkonvention reinschauen.
PB kann nur cdecl und stdcall, standard wird stdcall benutzt (Procedure).
Wenn man cdecl braucht benutzt man die Funktionen oder Schluesselwoerter
mit dem C (ProcedureC) usw.
Im Fall von MediaInfo werden alle Funktionen normal (also ohne C)
aufgerufen. Hab mich da wohl vertan

Code: Alles auswählen
Import "MediaInfo.lib"
MediaInfoA_Open(File.s)
MediaInfoA_Open_Buffer(Begin.s,Begin_Size,ende.s,End_Size)
MediaInfoA_Save(Handle)
MediaInfoA_Close(Handle)
MediaInfoA_Inform(Handle,Options)
MediaInfoA_Get(Handle,StreamKind,StreamNumber,Parameter.s,InfoKind,SearchKind)
MediaInfoA_Set(Handle,ToSet.s,StreamKind,StreamNumber,Parameter.s,OldParameter.s)
MediaInfoA_Option(Handle,Option.s,Value.s)
MediaInfoA_State_Get(Handle)
MediaInfoA_Count_Get(Handle,StreamKind,StreamNumber)
EndImport
handle = MediaInfoA_Open("Test.avi")
info_ptr = MediaInfoA_Get(Handle, 2, 0, "Bitrate_string", 1, 0)
Debug "Bitrate: " + PeekS(info_ptr)
MediaInfoA_Close(handle)