![]() |
AW: 32 zu 64Bit DLL
Zitat:
Hmmm... Zitat:
Bin im Net am suchen wie blöde finde da nichts. gruss |
AW: 32 zu 64Bit DLL
Das ist mein Problem!
Zitat:
![]() Kann doch irgendwo nicht sein. Microsoft (R) COFF Binary File Dumper Version 6.00.8168 Copyright (C) Microsoft Corp 1992-1998. All rights reserved. dumpbin /exports KVideoPlayer.dll >KVideoPlayer.def
Code:
Das ist alles was ich bekomme von der 64BIT DLL.
Dump of file KVideoPlayer.dll
File Type: DLL Summary CD28 .bss 46340 .data E3A .didata 567 .edata 4B32 .idata 2D5C4 .pdata 44 .rdata 2AB34 .reloc 7600 .rsrc 31DC84 .text Der gleiche Befehl bei 32BIT
Code:
tja was nun.
Microsoft (R) COFF Binary File Dumper Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved. Dump of file KVideoPlayer.dll File Type: DLL Section contains the following exports for KVideoPlayer.dll 0 characteristics 0 time date stamp Thu Jan 01 01:00:00 1970 0.00 version 1 ordinal base 78 number of functions 78 number of names ordinal hint RVA name 78 0 000E9F88 KVideo_CloseFile 39 1 000E9F88 KVideo_CloseFile@0 77 2 000EA510 KVideo_CreateOverlayBaseImage 38 3 000EA510 KVideo_CreateOverlayBaseImage@24 76 4 000EA36C KVideo_DisplayModeChanged 37 5 000EA36C KVideo_DisplayModeChanged@0 75 6 000EA6B8 KVideo_GetCapturedImage 36 7 000EA6B8 KVideo_GetCapturedImage@4 74 8 000E9D94 KVideo_GetLastError 35 9 000E9D94 KVideo_GetLastError@0 73 A 000EA0B0 KVideo_GetMediaInfoText 34 B 000EA0B0 KVideo_GetMediaInfoText@0 72 C 000EA20C KVideo_GetMediaProperty 33 D 000EA20C KVideo_GetMediaProperty@4 71 E 000EA3FC KVideo_GetPlayerState 32 F 000EA3FC KVideo_GetPlayerState@0 70 10 000E9FB8 KVideo_GetStreamInfo 31 11 000E9FB8 KVideo_GetStreamInfo@108 69 12 000EA414 KVideo_GetStreamPosition 30 13 000EA414 KVideo_GetStreamPosition@0 68 14 000E9CE8 KVideo_GetVersion 29 15 000E9CE8 KVideo_GetVersion@0 67 16 000EA2D4 KVideo_GetViewSize 28 17 000EA2D4 KVideo_GetViewSize@8 66 18 000E9E20 KVideo_GetWorkingVR 27 19 000E9E20 KVideo_GetWorkingVR@0 65 1A 000EA14C KVideo_GetXySubFilter 26 1B 000EA14C KVideo_GetXySubFilter@4 64 1C 000EA574 KVideo_HasOverlayImage 25 1D 000EA574 KVideo_HasOverlayImage@0 63 1E 000E9D14 KVideo_Initialize 24 1F 000E9D14 KVideo_Initialize@8 62 20 000EA304 KVideo_KeepAspectRatio 23 21 000EA304 KVideo_KeepAspectRatio@4 61 22 000EA078 KVideo_MediaInfoServiceReady 22 23 000EA078 KVideo_MediaInfoServiceReady@0 60 24 000E9E84 KVideo_OpenFile 59 25 000E9EE4 KVideo_OpenFile2 20 26 000E9EE4 KVideo_OpenFile2@8 21 27 000E9E84 KVideo_OpenFile@4 58 28 000EA3B4 KVideo_Pause 19 29 000EA3B4 KVideo_Pause@0 57 2A 000EA390 KVideo_Play 18 2B 000EA390 KVideo_Play@0 56 2C 000EA598 KVideo_PutOverlayImage 17 2D 000EA598 KVideo_PutOverlayImage@24 55 2E 000E9D58 KVideo_Release 16 2F 000E9D58 KVideo_Release@0 54 30 000EA348 KVideo_Repaint 15 31 000EA348 KVideo_Repaint@0 53 32 000EA324 KVideo_Resize 14 33 000EA324 KVideo_Resize@0 52 34 000EA04C KVideo_SelectAudioStream 13 35 000EA04C KVideo_SelectAudioStream@4 51 36 000EA020 KVideo_SelectVideoStream 12 37 000EA020 KVideo_SelectVideoStream@4 50 38 000E9E2C KVideo_SetLAVFiltersFolder 11 39 000E9E2C KVideo_SetLAVFiltersFolder@4 49 3A 000E9F68 KVideo_SetPlaybackRate 10 3B 000E9F68 KVideo_SetPlaybackRate@4 48 3C 000E9F48 KVideo_SetSearchMode 9 3D 000E9F48 KVideo_SetSearchMode@4 47 3E 000EA468 KVideo_SetStreamPosition 8 3F 000EA468 KVideo_SetStreamPosition@8 46 40 000E9E00 KVideo_SetVideoRenderer 7 41 000E9E00 KVideo_SetVideoRenderer@4 45 42 000EA4DC KVideo_SetVolume 6 43 000EA4DC KVideo_SetVolume@4 44 44 000EA090 KVideo_ShowMediaInfo 5 45 000EA090 KVideo_ShowMediaInfo@0 43 46 000EA1C0 KVideo_ShowXySubFilterPropertyPage 4 47 000EA1C0 KVideo_ShowXySubFilterPropertyPage@4 42 48 000EA3D8 KVideo_Stop 3 49 000EA3D8 KVideo_Stop@0 41 4A 000EA630 KVideo_UpdateOverlayImage 2 4B 000EA630 KVideo_UpdateOverlayImage@4 40 4C 000EA11C KVideo_XySubFilterState 1 4D 000EA11C KVideo_XySubFilterState@8 gruss |
AW: 32 zu 64Bit DLL
Zitat:
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:
Zusätzlich nochmal die 64BIT unkomprimiert ansonsten kann man keine DEF erstellen. ;)
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'; gruss |
AW: 32 zu 64Bit DLL
Liste der Anhänge anzeigen (Anzahl: 1)
Kein Plan, was du falsch machst, aber bei mir funktioniert es:
Code:
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:
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 ...
Code:
Könnte höchstens daran liegen, dass deine VS Toolchain noch aus Vorkriegszeiten stammt :mrgreen:
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. Habe die resultierende .lib mal angehangen. |
AW: 32 zu 64Bit DLL
Zitat:
|
AW: 32 zu 64Bit DLL
Zitat:
Ich kann jedoch nicht garantieren das die LIB.EXE die von VS2017 ist. (Eventuell wird die von VC (Aus Visual Studio 6 verwendet) Seltsam ist ja schon das meine Exports gar nicht mit dem Flag lib /MACHINE:X64 akzeptiert wird. Wirklich konfus. Danke für den Upload. Zitat:
Muss mal sehen wie ich den Pfad zur LIB ändern kann. EDIT: Dein Archiv scheint beschädigt zu sein. gruss |
AW: 32 zu 64Bit DLL
Zitat:
where lib.exe Dann wird dir angezeigt wo die gefunden wird. |
AW: 32 zu 64Bit DLL
Zitat:
gruss |
AW: 32 zu 64Bit DLL
Bei mir ist das:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat"
Code:
Wieso exportierts Du die function 2 mal? und weshalb mit den @.....??
KVideo_CloseFile name 'KVideo_CloseFile@0',
KVideo_CreateOverlayBaseImage name 'KVideo_CreateOverlayBaseImage@24', KVideo_DisplayModeChanged name 'KVideo_DisplayModeChanged@0', KVideo_GetCapturedImage name 'KVideo_GetCapturedImage@4', |
AW: 32 zu 64Bit DLL
Zitat:
Warum auch immer. Das "@....." sind die Bytes der jeweiligen Datentypen die in der exportierten Funktion enthalten sind. Bei 64Bit wie Zacherl sagt werden diese ignoriert. Siehe die Funktionen im C-Header. Wenn man das jedoch anders oder besser machen kann lerne ich gern dazu. Habe die Bat ausgeführt wird aber weiterhin die 6 Version von LIB\DUMPBI verwendet gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:01 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