1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Chrischn

Beiträge von Chrischn

  • Down tasten problem

    • Chrischn
    • 19. Dezember 2009 um 23:23

    Der Befehl zum Senden der "NachUntenTaste" lautet:


    [autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Send("{DOWN}")
    Sleep(50)
    Send("{DOWN}")
    Sleep(50)
    Send("{DOWN}")

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Com Objects - Neuling - Tutorial

    • Chrischn
    • 19. Dezember 2009 um 23:03

    Moin moin,
    ich würde mich gerne mal den Objekten und oder Com-Objekten beschäftigen.
    Bis auf die 4 sperrlich erklärten befehle in der Hilfe gibts leider nichts zum üben.
    Mit Versuchen und den Beispielen aus der Hilfe bin ich leider gar nicht klar gekommen.
    Hat jemand ne Ahnung wo´s´n Tutorial gibt?

    Alles Gute wünsche ich dem Forum zum 4. Geburtstag !!! :rock: Töörööö !!! :!: :!: :!:

  • Technobase.FM Player

    • Chrischn
    • 15. Dezember 2009 um 15:37

    der TODESPLAYER funzt bei mir net.

    Meldung:

    C:\Users\xxxxxx\Desktop\AutoIt v3 Script (neu).au3 (554) : ==> Variable used without being declared.:
    Case $showitem
    Case ^ ERROR

    System = Win7 64bittttt

    aber die hundertstel-Sekunde in der ich ein GUI sehen konnte, hats mir gefallen ;)

  • DLL Open / Call zu langsam

    • Chrischn
    • 16. November 2009 um 11:40
    Zitat von RAPTOR-ONE

    Hi,
    ich hatte eigendlich die orginal dll gemeint.

    Wenn mindestens das .NET-Framework 2 installiert ist und das Skript und die Wrapper-dll im selben Verzeichnis liegen funktioniert diese definitiv. Es sei den du Startes das Skript als 64-Bit Skript. Es muss als 32Bit Skript ausgeführt werden (x86).

    MFG. RAPTOR-ONE

    OOoo!!! als x86er löppts !!!! :rock:

  • DLL Open / Call zu langsam

    • Chrischn
    • 15. November 2009 um 16:59
    Zitat von RAPTOR-ONE

    Hi,
    du benötigst das .NET-Framework 2 für die Wrapper dll.
    Nur zur Info was gibt die Out32 eigendlich für einen Wert zurück? Ist das 0 für erfolgreiches schreiben und -1 bei Fehler oder was?

    Derzeit schreibt er immer nur den Dezimalwert an den Port ohne 0 aber das kann man schnell ändern.
    Wenn dann alles läuft änder ich die Wrapper noch mal schnell das sie die 0 sendet.

    MFG. RAPTOR-ONE

    Ich stelle fest, der Call liefert in jedem Fall die 0 zurück. Erfolg und Misserfolg = 0.

    Wieviel Arbeit steckt da bis jetzt drin, wenn ich mal fragen darf?

  • DLL Open / Call zu langsam

    • Chrischn
    • 14. November 2009 um 18:55

    Moin moin! Und ein fettes Danke für das in meinen Augen GROßE Engagement!

    Aber ich glaub da funzt wad nicht: AutoIt sagt dazu in beiden Fällen ( MultiOut32Test und MultiOut32 ) :

    C:\Users\__\DllWrapper\DllWrapper\Wrapper.au3 (10) : ==> Subscript used with non-Array variable.:
    MsgBox(0, "StringTest ,Test,", $result[0])
    MsgBox(0, "StringTest ,Test,", $result^ ERROR

    $Return ist kein Array und beinhaltet 0 .

    Was tun? Ich kann die Sache in reality auch erst am Dienstag wieder an der Maschine testen.
    Und noch was: Was macht die Funktion genau? Wird im Wechsel der $Zu_schreibender_DezimalWert und Null auf den Port geschrieben?
    Das wär ja toll!!

  • DLL Open / Call zu langsam

    • Chrischn
    • 13. November 2009 um 20:43

    sonst noch wer erfahrung in sachen DLL bearbeiten oder ne Alternative IDEE?

    vielen Dank für die bisherigen Hilfen schonmal..!!

  • dll call version 3.1 --> 3.2.4.x FEHLER

    • Chrischn
    • 12. November 2009 um 20:06

    Lol !!

    hmmkay

    ...lieber spät als nie...

    hab mir jeden Tag seit seinem Post Gedanken Gemacht... und was ist der Dank?! SPOT und HOHN...


    lol

  • dll call version 3.1 --> 3.2.4.x FEHLER

    • Chrischn
    • 12. November 2009 um 19:08
    Zitat von progandy

    Leichenschänder :D Das ist jezt schon fast 2 Jahre her
    *duck*

    //Edit: ich glaub, du hast den falschen Thread erwischt.

    dad war für vivus ....

  • dll call version 3.1 --> 3.2.4.x FEHLER

    • Chrischn
    • 12. November 2009 um 19:03

    BITTESCHÖN!!

    Zum lesen:

    [autoit]


    $DLL = DLLOpen("inpout32.dll")

    [/autoit][autoit][/autoit][autoit]

    $BCD1 = DllCall( $DLL, "short", "Inp32", "short", $ParallelPort1) ;Data-Register1

    [/autoit][autoit][/autoit][autoit]

    $BCD2 = DllCall( $DLL, "short", "Inp32", "short", $ParallelPort1+1) ;Status-Register1

    [/autoit][autoit][/autoit][autoit]

    $BCD3 = DllCall( $DLL, "short", "Inp32", "short", $ParallelPort1+2) ;Control-Register1

    [/autoit][autoit][/autoit][autoit][/autoit]

    Der Return von diesem Call ist ein ARRAY !

    Zum Schreiben:

    [autoit][/autoit][autoit][/autoit][autoit]

    $DLL = DLLOpen("inpout32.dll")

    [/autoit][autoit][/autoit][autoit]

    DllCall( $DLL, "int", "Out32", "int", $ParallelPort1, "int", $BCD) ;Data-Register

    [/autoit]


    Wobei ich bei $ParallelPort immer den DezimalWert der Adresse verwende - so ist es einfacher die nächsthöhere Adresse anzusprechen.

    bei mir: Basisadresse = 888 ( Data-Register ) ( = 0x378 in hex )
    Statusregister = 889
    Controlregister = 890

  • DLL Open / Call zu langsam

    • Chrischn
    • 12. November 2009 um 18:23
    Zitat von progandy


    Wenn du die DLL ändern willst, musst du das aber in c++ machen, da sie damit geschrieben wurde und das ist noch viel schwieriger als FreeBasic. Aber HIER gibt es DLL und quellcode, falls du es wirklich versuchen willst.

    Einfacher ist auf jeden Fall, eine 2. DLL zu schreiben, die intern die Funktionen der normalen inpout32.dll verwendet und zusätzliche Funktionen zur Verfügung stellt.

    So,.. hab mir den Quellcode und die Pjojektdateien angesehen. Bin leider genauso schlau wie vorher.
    Das mit dem "einfach ne 2. DLL schreiben" krieg ich aber denke ich nicht gebacken... bin da wie schon erwähnt Jungfrau.

  • DLL Open / Call zu langsam

    • Chrischn
    • 12. November 2009 um 17:42
    Zitat von progandy

    Hilft dir das?
    http://de.wikibooks.org/wiki/FreeBasic…en#INPOUT32.dll
    http://de.wikibooks.org/wiki/FreeBasic:_DLL

    Hallo! Danke.
    Sieht interessant aus. Aber ich glaube, wenn ich genau wüsste, was in der inpout32.dll drin steht, dann wäre ich in der Lage sie so zu verändern, wie ich´s gern hätte.
    Das weiß ich aber leider nicht.
    Damit tuh ich mich grad ein bischen schwer...

    Kann ich die dll irgendwie auseinanderbauen um reinzusehen?

  • DLL Open / Call zu langsam

    • Chrischn
    • 11. November 2009 um 21:48
    Zitat von progandy

    schreib dir ne wrapper-DLL in z.B. freebasic. Da machst du dann eine Funktion, die eine bestimmte Zahl von Schritten ausführt ;) Diese kannst du dann in AutoIt aufrufen.

    klingt vielleicht wie vom Anfänger, aber.... UND WIE?!!?!?!

    nehmen wir mal an, ich hätte keinen Plan, wie die inpout32.dll aussieht ... ich weis lediglich, wie ich die Funktionen in AI aufrufe.
    ...Dumm sein ist manchmal erniedrigend...
    ich hoffe, ich muss mich nicht erst 1/2 Jahr einarbeiten, bovor ich das hier fertig bekomme..

  • DLL Open / Call zu langsam

    • Chrischn
    • 11. November 2009 um 21:09

    ja das sind 100 Aufrufe der DLL / sek. Für manche Anwendungen mehr als genug.. Lauflicht.. Modelleisenbahn... Digitale eingänge... aber ein 200-Schritt-Motor... bäääää

  • DLL Open / Call zu langsam

    • Chrischn
    • 11. November 2009 um 16:16

    Na klar,

    es sind 1- 10 ms. Eher der Durchschnitt. Einmal per TimerDiff und einmal visuell. Mein LPT-gesteuerter Schrittmotor hat 200 Schritte. Und bei ca 5ms pro Schritt kann man beim zusehen einschlafen... Drehzahl kannst dir ja ausrechnen... (1 Umdr. / sek entspr. 60 /min. ) ... ZU_LANGSAM("viel")

  • DLL Open / Call zu langsam

    • Chrischn
    • 10. November 2009 um 21:02

    Netter Vorschlag, Danke!

    Wie/Womit kann ich denn die DLL einsehen, sodass sich die Nr. ergibt??

    Danke
    Gruß

  • DLL Open / Call zu langsam

    • Chrischn
    • 10. November 2009 um 17:11

    Ok. Danke erstmal für´s Auslöschen meiner Hoffnungen...

    Wofür wendet man denn die DLLStructCreate an?
    Der Name dieser Funktion erklärt sich ja fast selbst. Klingt als soll hier sowas wie eine DLL-Function gebaut werden.
    Aber ne Erklärung oder ne Anwendung wär schon nicht schlecht.

  • DLL Open / Call zu langsam

    • Chrischn
    • 10. November 2009 um 16:29

    Hallo Leude...

    Ich habe eine "inpout32.dll" mit der ich einzelne und/oder mehrere Bits aus den 3 Registern der Parallelen Schnittstelle schalte und/oder lese.

    Beisp.:

    [autoit]


    $Dll = DLLOpen("inpout32.dll")

    [/autoit][autoit][/autoit][autoit]

    DllCall($DLL, "int", "Out32", "int", $EA_Adresse_des_Port, "int", $Zu_schreibender_DezimalWert)

    [/autoit][autoit][/autoit][autoit][/autoit]

    Diesen DLLCall möchte ich so schnell wie möglich ausführen. Derzeit dauert der Aufruf bei mir etwa 10 ms, was für meine Bedürfnisse noch zu langsam ist.
    Da ich in Sachen DLL noch fast NEWBE bin, frage ich: "Kann ich den Aufruf noch beschleunigen?
    Bin durch " DLLStructCreate " & co. leider nicht durchgestiegen..

    Danke
    Gruß

  • mehrfach #Include ´n wirkt nicht

    • Chrischn
    • 22. Oktober 2009 um 00:03

    AHH!! Verstehe... jetzt erst.. vielen Dank!

    hab meinen Erfolg nun mit der Ini-Datei gehabt - also Problem gelöst!

    Gruß
    Chrischn

  • mehrfach #Include ´n wirkt nicht

    • Chrischn
    • 21. Oktober 2009 um 14:36

    Ok - hab ne neue idee - werd mich mal mit INI- R/W beschäftigen...

    danke für erhaltenen Infos an die Beteiligten...!!

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™