Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Make-Grafik
Anmeldungsdatum: 08.10.2012 Beiträge: 29
|
Verfasst am: 12.10.2012, 19:24 Titel: Dll aufrufen | Objekte |
|
|
Guten Abend Community.
Ich habe 2 anliegen:
1-> Ich habe eine eigene Dll zum testen geschrieben. Hier ist das Script, was in der Dll steht:
Code: | ' MyDll.dll
Function _Add(a As Integer, b As Integer) As Integer Export
Return a + b
End Function
|
Wie rufe ich die Funktion in der Dll auf?
2-> Ist es möglich, eine UDT zu erstellen, diese als dll oder ein anderen Datentyp abzuspeichern und in einen anderen Script zu nutzen?
Wenn ja, wie?
>>> Ich bedanke mich dann schonmal im Vorraus  _________________ Hmn :/ Mal schaun was es bringt... |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 12.10.2012, 19:52 Titel: |
|
|
Erstelle eine zweite Codedatei (man spricht üblich von Code oder Quelltext, Script passt hier nicht ganz) und schreib das rein:
Code: | Declare Function _Add Lib "MyDll" (a As Integer, b As Integer) As Integer
Print _Add(5, 7)
Sleep
|
Wenn die DLL im gleichen Ordner ist, funktioniert das so schon.
UDTs lassen sich nicht einfach übertragen. Üblicherweise erstellt man eine Headerdatei (.bi), in der das UDT definiert wird. Der Header wird dann sowohl in der DLL als auch im Programmcode direkt mit #Include eingebunden. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Make-Grafik
Anmeldungsdatum: 08.10.2012 Beiträge: 29
|
Verfasst am: 12.10.2012, 19:57 Titel: |
|
|
Okey, danke für die Information und zu dem Beispiel Code.
Zu dem Script: Wieso passt das nicht?  _________________ Hmn :/ Mal schaun was es bringt... |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 13.10.2012, 12:00 Titel: |
|
|
Typischer weise ist ...
... ein Skript ein Quellcode bzw. eine Liste von Befehlen, welcher nicht oder erst zur Laufzeit Kompiliert werden und damit "ad hoc" ausführbar ist und einen sogenannten "Laufzeitinterpreter" benötigt
... in reiner Quellcode oder Sourcecode ein Liste von Befehlen die noch vor der Ausführung von einem Compiler übersetzt werden muss, bevor der Computer ihn verarbeiten kann.
Es gibt für Skripte teilweise auch Compiler, welche eine selbstständig laufende Datei erzeugen. Ebenfalls gibt es natürlich auch Interpreter für Quellcodes.
Beide sind allerdings Nachteilig für deren Aufgabengebiet.
Skripte sind dafür gedacht, schnell Änderungen vorzunehmen ohne sie neu kompilieren zu müssen. Wird meist mit PHP, HTML, XML, usw. verwendet. Hier jedoch ohne Laufzeitinperpreter nutzlos.
Quellcode ist eher dafür gedacht, das der Quellcode nicht wirklich ersichtlich übertragen werden muss, der benutzer folglich nicht noch irgend etwas zu tun hat, bevor er das programm nutzen kann, und daher auch eine sogenannte "binary" besitzt. Eine vom Computer sofort verstandene Datei, ohne (meist) irgend welchem zusätzlichem Schnickschnak.
Die Ausgabe ist typischer weise eine ".exe" oder bei linux ohne Dateiendung. Hier läuft das "kompilat" ohne Interpreter bereits auf dem Computer.
Ein Gravierender Unterschied zu beiden dingen ist die Verarbeitungsgeschwindigkeit.
Ein Skript ist extrem langsam im vergleich zu einer guten Binary.
MfG
TPM
PS: Vieleicht interessant für dich: http://www.freebasic-portal.de/tutorials/plugin-programmierung-dll-so-55.html _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
Make-Grafik
Anmeldungsdatum: 08.10.2012 Beiträge: 29
|
Verfasst am: 13.10.2012, 15:36 Titel: |
|
|
Ah, okey
Dann werde ich in Zukunft darauf achten
Danke  _________________ Hmn :/ Mal schaun was es bringt... |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 13.10.2012, 21:46 Titel: |
|
|
@TPM:
HTML und XML sind Skriptsprachen?
Typische Skriptsprachen wären z.B. PHP (schon genannt), Python, Ruby, JavaScript (oft in HTML und SVG-Dokumenten eingebettet) |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 14.10.2012, 00:12 Titel: |
|
|
Für mich is "auszeichnungssprache" und "skriptsprache" das selbe, da beides von nem Interpreter verarbeitet werden muss und nicht als binary vorliegt. .. aber, über sowas streiten sich schon die leute (warscheinlich) seitdem es diesen unterschied gibt.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 14.10.2012, 00:26 Titel: |
|
|
Also reines HTML ist definitiv keine Skriptsprache, da nicht Turing-vollständig.
Aber da XML sehr generisch ist, kann man natürlich sich eine Skriptsprache in XML ausdenken, XSLT z.B., welches Turing-vollständig (und ein sehr mächtiges Werkzeug obendrein) ist.
Jetzt sagst du aber "..., da beides von nem Interpreter verarbeitet werden muss"... und hier wird es interessant! Eine längere Diskussion spare ich mir, jeder hier weiß worauf ich (und auch TPM) hinaus wollen!  |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 15.10.2012, 16:30 Titel: |
|
|
Wenn ich mich nicht sehr täusche, ist Make-Grafik auch im AutoIt.de-Forum aktiv, damit ist die Skriptfrage schon mal geklärt..
..im AutoIt-Forum hat eukalyptus - sehr zur Freude der AutoIt-Community - ein Tut geschrieben, wie einfach DLLs mit FreeBasic erstellt werden können.
Deshalb schätze ich (schon wegen der Function in der Lib), daß Make-Grafik einfach nur mal die DLL-Erstellung ausprobieren möchte
n.b.: Eigentlich wollte ich das hier mit dem SmartPhone posten, aber ich habe die ganzen Paßwörter etc noch nicht übertragen, deshalb also per Computer
Gruß
ytwinky
[Edit]
Link ins AutoIt-Forum eingefügt.. _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
|