dll - Verständnisproblem ...

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

gero
Posts: 173
Joined: 02 Oct 2013, 05:36

dll - Verständnisproblem ...

20 Nov 2013, 09:56

Hallo zusammen
Ich wollte mal was probieren mit DLLCall ... und komme einfach nicht klar damit.
Ich habe eine "mueller.dll" erstellt, deren Inhalt nur aus:
a = mueller
b = 0815
besteht (sind ja eigentlich Variable).

Die dll rufe ich folgendermassen auf:

Code: Select all

name := DllCall("mueller.dll\a")
Der Aufruf dieser dll liefert mir immer ErrorLevel -4 (Funktion nicht gefunden) ... habe ich einen prinzipiellen Verständnisfehler oder was mache ich falsch ? Oder geht sowas gar nicht ?

gruss
gero
HotKeyIt
Posts: 2364
Joined: 29 Sep 2013, 18:35
Contact:

Re: dll - Verständnisproblem ...

20 Nov 2013, 12:02

DllCall kann nur Funktionen einer dll aufrufen, nicht die Werte einer Variable.
gero
Posts: 173
Joined: 02 Oct 2013, 05:36

Re: dll - Verständnisproblem ...

20 Nov 2013, 12:30

Erstmal danke HotKeyIt,
... heisst das, dass in einer Dll grundsätzlich keine Werte hinterlegt weden können ?

gruss
gero
HotKeyIt
Posts: 2364
Joined: 29 Sep 2013, 18:35
Contact:

Re: dll - Verständnisproblem ...

20 Nov 2013, 13:49

Doch, dafür kannst du Resources benutzen siehe MSDN.
gero
Posts: 173
Joined: 02 Oct 2013, 05:36

Re: dll - Verständnisproblem ...

20 Nov 2013, 16:28

Ist wohl doch nicht meine Liga ... :roll:
Aber danke für die Hinweise.

gruss
gero
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: dll - Verständnisproblem ...

21 Nov 2013, 00:38

Hi
Ich weiß nicht ob es deine Liga ist oder nicht.
Aber du gehst die Sache falsch an.
Die Ressourcen sind eher für Bilder etc.

Die Dll solltest du eher mit einer Funktion füttern.
Dafür sind sie nähmlich da: Um verschiedene Funktionen mit mehreren Programmen nutzen zu können.
Was deine Funktion macht ist egal.
So könnte sie auch einfach nur einen Wert in eine Variable füllen.

An sich hat eine Dll Gemeinsamkeiten mit MCode.
Versuch es doch erstmal da mit.
Obwohl da keine Globalen Variablen möglich sind kann es sogar leichter sein.

Code: Select all

MyFunction := MCode("2,x86:i0QkBMcAyAAAALjIAAAAww==,x64:xwHIAAAAuMgAAADD") ;siehe Bentschis Funktion
a:=0
DllCall(MyFunction,"int*",a)
Msgbox % a
Recommends AHK Studio
User avatar
fump2000
Posts: 313
Joined: 04 Oct 2013, 17:31

Re: dll - Verständnisproblem ...

21 Nov 2013, 13:51

Wie erstellt man denne ine DLL mit einer Funktion drin?

Ich habe da eine AHK Datei mit einigen Funktionen die ich immer wieder mal verwende und daher immer per Include einbinde. So könnte ich doch eine DLL nutzen und neben den Funktionen auch noch anderen mit reinpacken wie Bilder die immer wieder verwendet werden. Aber wie genau erstellt man so eine DLL?
gero
Posts: 173
Joined: 02 Oct 2013, 05:36

Re: dll - Verständnisproblem ...

21 Nov 2013, 14:40

@fump2000 ... ich kann dir nur sagen wie ichs bisher (allerdings nur mit Icons erfolgreich) gemacht habe. Du nimmst dir eine leere DLL und öffnest sie im ResHacker. Dann fügst du deine Icons hinzu und speicherst ab. Macht alles der ResHacker.
Den Erfolg kannst du schnell prüfen indem du einer Verknüpfung ein neues Icon zuweist und dieses aus deiner erstellten DLL nimmst.


@nnnik ... du schreibst :
So könnte sie auch einfach nur einen Wert in eine Variable füllen.
... und ganz genau das war mein Plan !
Muss mir das noch mal in Ruhe ansehen ... aber schon mal gut zu wissen, dass sowas prinzipiell geht.
- Danke -

gruss
gero
User avatar
fump2000
Posts: 313
Joined: 04 Oct 2013, 17:31

Re: dll - Verständnisproblem ...

21 Nov 2013, 15:56

mit Bildern und Icons mach ich das schon lange... aber mit Funktionen wüsste ich nicht wie es geht...

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 18 guests