AcceptFiles.dll unter BlitzMax
Übersicht

![]() |
NicdelBetreff: AcceptFiles.dll unter BlitzMax |
![]() Antworten mit Zitat ![]() |
---|---|---|
Heute wollte ich die praktische AcceptFiles.dll von ChristianK unter BMax verwenden. Ich benutze folgenden Code:
BlitzMax: [AUSKLAPPEN]
Leider bekomme ich bei InitAcceptFiles(hwnd) immer den Fehler "Attempt to call uninitialized function pointer". Woran liegt das? Mfg Nicdel |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie der Fehler schon sagt versuchst du einen nicht initialisierten Funktionspointer aufzurufen.
Entweder ist das DLLHandle falsch, was du mit einem einfachen Code: [AUSKLAPPEN] Assert DLLHandle, "DLL wurde nicht geladen"
nach LoadLibraryA testen. Wenn das nicht der Fall ist, dass musst du überprüfen, ob der Funktionsname korrekt ist (Fängt der wirklich mit _ an?). Gut geht das mit dem Dependency Walker. |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der exportierte funktions-name fängt immer mit einem _ an, dieser wird jedoch beim laden genau so wieder automatisch angefügt. D.h. er ist zu viel. | ||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für eure Hilfe, ohne "_" und ohne "@4" hat's funktioniert ![]() Neues Problem: Anscheinend gibt es Unterschiede zwischen einem String in Blitz3D und BlitzMax. Die Funktion in der Userlib für B3D: Code: [AUSKLAPPEN] AcceptedFile$( index% )
Der Code in BlitzMax: BlitzMax: [AUSKLAPPEN] [...] In B3D bekomme ich den Dateipfad zurück, in BlitzMax das hier als Ausgabe: Code: [AUSKLAPPEN] औ﹩ﴦﱥﭦহ捻﹜瘟ﱯথকﯤ便হ捻ঝ益﹥ࢁ簾cক便ﱳçउﻧ瘟কﭳঅু簾盛ঐﯦ্ࠨDﵡ danach stürzt das Programm ab. Nachdem ich es beendet habe kommt folgendes: Code: [AUSKLAPPEN] è¡è¡¹¦tÔfnfiÑ&eÕfn¹¤\¥o¥¦gä Ѧe¹¤\¦e¦Ces±çi ça¥\fs
fcÁ¦t±§eæeÍ# é$\&u¹¦tÔfnfiÑ&eÕfn¹¤\¥o¥¦gä Ѧe¹¤\¦e¦Ces±çi ça¥\fs
fcÁ¦t±§eæeÍ
@x¡x¡ Process complete Gibt es dafür eine Lösung? Oder eine Alternative zur AcceptFiles.dll? |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
MaxGUI kann von Haus aus Drag&Drop akzeptieren. | ||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und ohne MaxGUI? Ich will sie mir eigentlich nicht kaufen ![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohne MaxGUI ist es sehr schwer, das wirklich Platform-Übergreifend hinzubekommen. Vorallem wird die DLL irgendwie BB-Interna nutzen, fürchte ich. Der String kann konvertiert werden(Lese hierzu die Doku von BMax, da steht das genau erklärt).
Ansonsten bliebe dir nur, für jedes OS zu suchen, wie es dort geht und es gesondert einzubauen. |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab die Lösung gefunden:
BlitzMax: [AUSKLAPPEN] Global AcceptedFile:Byte Ptr(index:Int)"Win32" = GetProcAddress(DLLHandle, "AcceptedFile") Danke BtbN ![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group