PureDLLHelper Windows 1.2 (x86 and x64)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

PureDLLHelper Windows 1.2 (x86 and x64)

Beitrag von ts-soft »

12.02.2012
Update
Bugfixrelease

02.02.2011
Update
Erkennung der Anzahl an Parametern bei StdCall DLLs
verbessert.

29.01.2011
Update
+ Speichern von Source
+ Speichern und laden von Project
+ Erkennung von x86 und x64
+ diverse Kleinigkeiten geändert
+ viele Fehler beseitigt

Im download befinden sich die x86 und x64 Version für Windows.

Bilder sagen mehr als 1000 Worte:
Bild
Bild
Bild

Download

Ich hoffe, Ihr habt Spaß und seid mir nützlich beim Bughunting :mrgreen:

Gruß
Thomas
Zuletzt geändert von ts-soft am 03.08.2012 22:51, insgesamt 5-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: PureDLLHelper Windows (z. Zeit Alpha Test)

Beitrag von TomS »

MSCTFIME UI: PureDLLHelper_x68.exe - Systemfehler hat geschrieben:Das Programm kann nicht gestartet werden, da FTD2XX.dll auf dem Computer fehlt. Installieren Sie das Programm erneut, um das Problem zu beheben.
Diese Fehlermeldung kommt zweimal, ehe sich das Fenster öffnet.
Allerdings wird auch nichts angezeigt im ListView-Gadget.

Die FTD2XX.dll wird bei der zu öffenden DLL (DMX4ALL.dll) mitgeliefert liegt im gleichen Verzeichnis, wie die zu öffnende Dll (DMX4All.dll). Das kopieren in ein Verzeichnis im "Path" z.B. C:\windows\system32\ hat auch nicht geholfen.

Da diese DLL zum Ansteuern eines USB-Devices verwendet wird, ist es möglich, dass die nicht gefundene DLL als Treiber fungiert (kann ich momentan nicht testen, da ich die Hardware nicht griffbereit habe und die Treiber als einzelne Dateien vorliegen ohne Installer) und die DLL schon beim laden darauf zu greifen will?
Zur Benutzung des USB-Gerätes muss man nur die dmx4all.dll laden, weshalb ich der FTD2XX.dll nie Beachtung geschenkt habe.
Falls das irgendjemandem hilft: Hier kann man die Treiber und die DLLs inkl. Sourcen herunterladen: http://www.dmx4all.de//DMX4ALL-PC-Inter ... ce::1.html

Ansonsten funktioniert das Laden von irgendwelchen Windows-DLLs und auch der Code-Generator scheint zu funktionieren.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PureDLLHelper Windows (z. Zeit Alpha Test)

Beitrag von ts-soft »

Danke für die Fehlermeldung :D

Ich setze jetzt immer den Pfad zur DLL als aktuelles Verzeichnis, kannst Du bitte mal testen ob es jetzt
funktioniert?

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: PureDLLHelper Windows (z. Zeit Alpha Test)

Beitrag von TomS »

Jetzt funktioniert es :)
Aber nur wenn die DLL im gleichen Verzeichnis liegt. Wenn sie nur im "Path" liegt, klappt's nicht.
Wird wohl ne Einschränkung von Windows sein (dachte, es wird automatisch im "Path" nachgesehen, wenn im gleichen Verzeichnis nichts gefunden wird...)

Jetzt noch etwas, was mir aufgefallen ist. In der Doku zur DLL steht
Es werden zwei Funktionsgruppen von der DLL bereitgestellt, die sich durch ihre
Definition unterscheiden. Die Funktionen mit „__“ beginnend sind mit __stdcall
aufzurufen. Funktionen ohne „__“ in der Bezeichnung besitzen keine definierte
Aufrufkonvention und sind aus Kompatibilitätsgründen weiterhin enthalten.
Aber dein Programm zeigt auch bei den __-Funkionen sdtcall an.
Ist das der Defaultwert bei dir (falls nix anderes gefunden wird)?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PureDLLHelper Windows (z. Zeit Alpha Test)

Beitrag von ts-soft »

TomS hat geschrieben:Aber dein Programm zeigt auch bei den __-Funkionen sdtcall an.
Ist das der Defaultwert bei dir (falls nix anderes gefunden wird)?
Diese Angabe bezieht sich ja nur auf den Hersteller und hat keine allg. Gültigkeit.
Die Conventionen werden pauschal auf STDCALL (unter x64 auf FASTCALL) gesetzt.
Wenn ich nur 0 Parameter oder keine Auskunft finde, ist es oft CDECL, aber darauf
kann ich mich nicht verlassen.
Ein klick im Header invertiert die Einstellung!

So das man nichts mehr Einstellen braucht, so gut wird es wohl nicht werden können.
Conventionen sind zu setzen und die Anzahl Parameter immer zu prüfen!

Ich kämpfe im moment aber mit den blöden Resourcen :mrgreen:

Danke fürs Feedback.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: PureDLLHelper Windows (z. Zeit Alpha Test)

Beitrag von TomS »

ts-soft hat geschrieben:Ein klick im Header invertiert die Einstellung!
Oha. Jetzt wird überall CDECL anzeigt^^
ts-soft hat geschrieben:...die Anzahl Parameter immer zu prüfen!
Was meinst du damit? Dass die Werte, die dein Programm liefert nicht stimmen müssen? Es zeigt nämlich immer mindestens 1 an, auch wenn eine Funktionen keinen Parameter erwartet. Aber nur bei der o.g. DLL.
Bei verschiedenen Windows DLLs steht immer mal wieder 0 da.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PureDLLHelper Windows (z. Zeit Alpha Test)

Beitrag von ts-soft »

TomS hat geschrieben:Was meinst du damit? Dass die Werte, die dein Programm liefert nicht stimmen müssen?
So sieht es aus! Ich versuche zwar noch etwas mehr Zuverlässigkeit einzubauen, aber ...
Mit CDECL und FASTCALL versagt das ganze sowieso. Aber ich denke es wird trotz allem nützlich sein :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PureDLLHelper Windows (z. Zeit Alpha Test)

Beitrag von RSBasic »

Hab zwar noch nicht getestet, aber sieht vielversprechend aus :D
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: PureDLLHelper Windows (z. Zeit Alpha Test)

Beitrag von DrShrek »

Hallo ts-soft,
Feine Sache! Was ich mir noch wünsche:

1) Source Pfad sollte (optional) noch mit angegeben werden können (und automatisch ausgewertet)
=> Oder alternativ: der Funktionsaufruf mit den Parametern von Hand eingetragen werden können.

Vorteil: Das Prototypen wäre sprechender und der Returnwert wäre mit angegeben.
Also statt:

Code: Alles auswählen

Prototype  aFunktion(a, b, c, d, e)
so etwas:

Code: Alles auswählen

Prototype.b  aFunktion(Window.l, Body$, Title$, Flags.l = 0)
2) Das gleiche gilt für Strukturen (siehe 1) und sehr schön wäre es wenn diese automatisch in PureBasic Strukturen umgewandelt werden)


Wichtig:
Wenn die Funktionen/Strukturen von Hand angepasst werden, sollten diese gespeichert werden (nicht das die Arbeit umsonst war, wenn das ganze nicht in einen Rutsch angepasst wurde). Beim Laden der DLL sollten dann die gespeicherten Werte wieder mit angezeigt werden um daran weiterarbeiten zu können.

DrShrek
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
Helle
Beiträge: 566
Registriert: 11.11.2004 16:13
Wohnort: Magdeburg

Re: PureDLLHelper Windows (z. Zeit Alpha Test)

Beitrag von Helle »

Beim Frühstück kurz mit Win7_64 angeschaut: Mit der x86.exe funktionierts, aber mit x64: "0 of 0 functions selected!". Keine Funktion wird angezeigt.
Gruß
Helle
Antworten