AGB  ·  Datenschutz  ·  Impressum  







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

32 zu 64Bit DLL

Ein Thema von EWeiss · begonnen am 1. Aug 2017 · letzter Beitrag vom 2. Aug 2017
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: 32 zu 64Bit DLL

  Alt 2. Aug 2017, 01:54
Zitat:
Edit:
Aber wenn ich das richtig sehe, exportiert deine DLL ja scheinbar eh auch eine ungemanglete Version. Kannst du mal sowohl die aktuelle 64-Bit DLL (als Kompilat) als auch den C/C++ Header mit Testprojekt hochladen? Dann würde ich mal drüberschauen.
Jo hier.
Es wird aber die MadVr benötigt damit ein Video läuft.
Aber zum kompilieren benötigt man die erst mal nicht.

Die KVideoPlayer.dll mit Unterstrich ist die in 64BIT.

Das Projekt läuft unter 32BIT. LIB in 32BIT ist dabei.
Eine 64BIT LIB habe ich noch nicht erstellen können warum auch immer das fehl schlägt.
Mein Delphi Projekt läuft ohne Probleme komplett in 64Bit inc. den ganzen Anhang (3rd Party DLL's).

Die Exports in Delphi sehen so aus.

Delphi-Quellcode:
exports
  KVideo_CloseFile,
  KVideo_CreateOverlayBaseImage,
  KVideo_DisplayModeChanged,
  KVideo_GetCapturedImage,
  KVideo_GetLastError,
  KVideo_GetMediaInfoText,
  KVideo_GetMediaProperty,
  KVideo_GetPlayerState,
  KVideo_GetStreamInfo,
  KVideo_GetStreamPosition,
  KVideo_GetVersion,
  KVideo_GetViewSize,
  KVideo_GetWorkingVR,
  KVideo_GetXySubFilter,
  KVideo_HasOverlayImage,
  KVideo_Initialize,
  KVideo_KeepAspectRatio,
  KVideo_MediaInfoServiceReady,
  KVideo_OpenFile2,
  KVideo_OpenFile,
  KVideo_Pause,
  KVideo_Play,
  KVideo_PutOverlayImage,
  KVideo_Release,
  KVideo_Repaint,
  KVideo_Resize,
  KVideo_SelectAudioStream,
  KVideo_SelectVideoStream,
  KVideo_SetLAVFiltersFolder,
  KVideo_SetPlaybackRate,
  KVideo_SetSearchMode,
  KVideo_SetStreamPosition,
  KVideo_SetVideoRenderer,
  KVideo_SetVolume,
  KVideo_ShowMediaInfo,
  KVideo_ShowXySubFilterPropertyPage,
  KVideo_Stop,
  KVideo_UpdateOverlayImage,
  KVideo_XySubFilterState,

  KVideo_CloseFile name 'KVideo_CloseFile@0',
  KVideo_CreateOverlayBaseImage name 'KVideo_CreateOverlayBaseImage@24',
  KVideo_DisplayModeChanged name 'KVideo_DisplayModeChanged@0',
  KVideo_GetCapturedImage name 'KVideo_GetCapturedImage@4',
  KVideo_GetLastError name 'KVideo_GetLastError@0',
  KVideo_GetMediaInfoText name 'KVideo_GetMediaInfoText@0',
  KVideo_GetMediaProperty name 'KVideo_GetMediaProperty@4',
  KVideo_GetPlayerState name 'KVideo_GetPlayerState@0',
  KVideo_GetStreamInfo name 'KVideo_GetStreamInfo@108',
  KVideo_GetStreamPosition name 'KVideo_GetStreamPosition@0',
  KVideo_GetVersion name 'KVideo_GetVersion@0',
  KVideo_GetViewSize name 'KVideo_GetViewSize@8',
  KVideo_GetWorkingVR name 'KVideo_GetWorkingVR@0',
  KVideo_GetXySubFilter name 'KVideo_GetXySubFilter@4',
  KVideo_HasOverlayImage name 'KVideo_HasOverlayImage@0',
  KVideo_Initialize name 'KVideo_Initialize@8',
  KVideo_KeepAspectRatio name 'KVideo_KeepAspectRatio@4',
  KVideo_MediaInfoServiceReady name 'KVideo_MediaInfoServiceReady@0',
  KVideo_OpenFile2 name 'KVideo_OpenFile2@8',
  KVideo_OpenFile name 'KVideo_OpenFile@4',
  KVideo_Pause name 'KVideo_Pause@0',
  KVideo_Play name 'KVideo_Play@0',
  KVideo_PutOverlayImage name 'KVideo_PutOverlayImage@24',
  KVideo_Release name 'KVideo_Release@0',
  KVideo_Repaint name 'KVideo_Repaint@0',
  KVideo_Resize name 'KVideo_Resize@0',
  KVideo_SelectAudioStream name 'KVideo_SelectAudioStream@4',
  KVideo_SelectVideoStream name 'KVideo_SelectVideoStream@4',
  KVideo_SetLAVFiltersFolder name 'KVideo_SetLAVFiltersFolder@4',
  KVideo_SetPlaybackRate name 'KVideo_SetPlaybackRate@4',
  KVideo_SetSearchMode name 'KVideo_SetSearchMode@4',
  KVideo_SetStreamPosition name 'KVideo_SetStreamPosition@8',
  KVideo_SetVideoRenderer name 'KVideo_SetVideoRenderer@4',
  KVideo_SetVolume name 'KVideo_SetVolume@4',
  KVideo_ShowMediaInfo name 'KVideo_ShowMediaInfo@0',
  KVideo_ShowXySubFilterPropertyPage name 'KVideo_ShowXySubFilterPropertyPage@4',
  KVideo_Stop name 'KVideo_Stop@0',
  KVideo_UpdateOverlayImage name 'KVideo_UpdateOverlayImage@4',
  KVideo_XySubFilterState name 'KVideo_XySubFilterState@8';
Zusätzlich nochmal die 64BIT unkomprimiert ansonsten kann man keine DEF erstellen.

gruss

Geändert von EWeiss (11. Jul 2019 um 16:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: 32 zu 64Bit DLL

  Alt 2. Aug 2017, 04:52
Kein Plan, was du falsch machst, aber bei mir funktioniert es:
Code:
dumpbin /exports _KVideoPlayer.dll
Microsoft (R) COFF/PE Dumper Version 14.10.25019.0
Copyright (C) Microsoft Corporation. All rights reserved.


Dump of file _KVideoPlayer.dll

File Type: DLL

  Section contains the following exports for _KVideoPlayer.dll

    00000000 characteristics
           0 time date stamp
        0.00 version
           1 ordinal base
          81 number of functions
          81 number of names

    ordinal hint RVA     name

         81    0 0030AF20 KVideo_CloseFile
         42    1 0030AF20 KVideo_CloseFile@0
         80    2 0030B680 KVideo_CreateOverlayBaseImage
    ...
Damit habe ich dann die .def Datei erstellt (neues Textdokument mit EXPORTS in der ersten Zeile und darunter alle Symbole in jeweils einer eigenen Zeile aufgeführt) und schließlich:
Code:
lib /MACHINE:X64 /DEF:_KVideoPlayer.def
Microsoft (R) Library Manager Version 14.10.25019.0
Copyright (C) Microsoft Corporation. All rights reserved.

   Bibliothek "_KVideoPlayer.lib" und Objekt "_KVideoPlayer.exp" werden erstellt.
Könnte höchstens daran liegen, dass deine VS Toolchain noch aus Vorkriegszeiten stammt

Habe die resultierende .lib mal angehangen.
Angehängte Dateien
Dateityp: rar KVideoPlayer.rar (2,9 KB, 3x aufgerufen)
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl ( 2. Aug 2017 um 04:55 Uhr)
  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 03:54 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