dll - Verständnisproblem ...

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: dll - Verständnisproblem ...

Re: dll - Verständnisproblem ...

Post by HotKeyIt » 21 Nov 2013, 17:46

Es geht einfacher mit Resource, z.B. mit LoadString.

Re: dll - Verständnisproblem ...

Post by fump2000 » 21 Nov 2013, 15:56

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

Re: dll - Verständnisproblem ...

Post by gero » 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

Re: dll - Verständnisproblem ...

Post by fump2000 » 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?

Re: dll - Verständnisproblem ...

Post by nnnik » 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

Re: dll - Verständnisproblem ...

Post by gero » 20 Nov 2013, 16:28

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

gruss
gero

Re: dll - Verständnisproblem ...

Post by HotKeyIt » 20 Nov 2013, 13:49

Doch, dafür kannst du Resources benutzen siehe MSDN.

Re: dll - Verständnisproblem ...

Post by gero » 20 Nov 2013, 12:30

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

gruss
gero

Re: dll - Verständnisproblem ...

Post by HotKeyIt » 20 Nov 2013, 12:02

DllCall kann nur Funktionen einer dll aufrufen, nicht die Werte einer Variable.

dll - Verständnisproblem ...

Post by gero » 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

Top