Tratsch rund um Autoit / Autoit Talk | kleinere Fragen

05/16/2012 15:31 K1ramoX#76
Was mich mal interessieren würde. Rein Theoretisch gesehen müsste Multithreading doch in AutoIt Möglich sein oder? Also einen DllCall und dann dem CreateThread den Funktionsnamen übergeben. Irr ich mich da oder würde das funktionieren?
05/16/2012 15:36 Freddy​#77
Quote:
Originally Posted by Kiramox View Post
Was mich mal interessieren würde. Rein Theoretisch gesehen müsste Multithreading doch in AutoIt Möglich sein oder? Also einen DllCall und dann dem CreateThread den Funktionsnamen übergeben. Irr ich mich da oder würde das funktionieren?
Multithreading ist auch so möglich wenn ich das hier jetzt richtig sehe, auch ohne dll.
[Only registered and activated users can see links. Click Here To Register...]
Das Examlpescript Funktioniert einwandfrei
05/16/2012 15:46 K1ramoX#78
Quote:
Originally Posted by Freddy​ View Post
Multithreading ist auch so möglich wenn ich das hier jetzt richtig sehe, auch ohne dll.
[Only registered and activated users can see links. Click Here To Register...]
Das Examlpescript Funktioniert einwandfrei
Ist aber kein Multithreading, eher Multiprocessing ;)
05/16/2012 15:48 Lawliet#79
Ich zitiere einfach mal ;)
Quote:
Diese Möglichkeit des Multithreadings ist aus gutem Grund in der Versenkung verschwunden. Der AutoIt-Interpreter ist nicht threadsicher. Das bedeutet, dass er nicht mehrere Codeblöcke gleichzeitig ausführen kann, da interene Variablen und Speicherbereiche nicht für gleichzeitige Zugriffe ausgelegt sind. Dadurch gibt es unvorhersehbare Interferenzen der Threads, die meist aufgrund von Speicherfehlern oder öhnlichem zum Absurz führen. Weiterhin beendet der AutoIt-Compiler das Programm sobald der erste Thread beendet wird.

Daher ist es keine gute Idee, diese Technik einzusetzen. Will man jedoch nicht blockierende MsgBoxen erzeigen, lässt sich CreateThread sehr gut verwenden. Dazu habe ich die meisten Threadfuntkionen in UDFs gekapselt und hier mit Beispiel veröffentlicht: [Only registered and activated users can see links. Click Here To Register...]
Weiterhin lässt sich ASM-ode als Thread ausführen oder die Funktion aus einer DLL.
Niemals darf jedoch DLLCallbackRegister als Thread verwendet werden.
05/16/2012 17:05 Dr.Toni-old#80
Hey Leute :)

Also was ich euch mal fragen wollte wären kleine Projekte die man billig verkaufen könnte ( :D ) Bin zwar kein Profi aber naja ;) Wenn einer ne Idee hat... PM me :)
05/16/2012 17:14 Freddy​#81
Quote:
Originally Posted by Toni_Damager View Post
Hey Leute :)

Also was ich euch mal fragen wollte wären kleine Projekte die man billig verkaufen könnte ( :D ) Bin zwar kein Profi aber naja ;) Wenn einer ne Idee hat... PM me :)
Youtube Bots sind klein. Habe ich auch mal gemacht. Oder irgendwelche Manager für z.B. elitepvpers
05/16/2012 17:24 Dr.Toni-old#82
Dann werde ich mich da mal rein arbeiten :)

dank dir ;)
05/16/2012 17:27 Lawliet#83
Jede Art von Browsergame Bots ^^
05/16/2012 17:32 Dr.Toni-old#84
Einen Browsergame Bot hab ich ja :D
Dieser ist nur schon lange public :D
05/16/2012 17:37 Lawliet#85
Packetbots ftw^^
Habe mal für eine User nen Pennergame bot gemacht, falls du ihn dir mal anschauen willst, findest du ihn hier:
[Only registered and activated users can see links. Click Here To Register...]
Ist zwar nur ein kleiner und das Codedesign is da auch für die Katz, aber war auch keine große Zeitinvestition :)
05/16/2012 18:17 Dr.Toni-old#86
Das ist schon klar :D

Nur mit das Problem das ich habe hab ich ja ein paar Seiten vorher geschrieben ;)
05/16/2012 18:35 -STORM-#87
Wie kriege ich es hin, dass man in eine Combobox keine Werte eintragen , sondern nur einen der vorgegebenen auswählen kann?
05/16/2012 18:37 Lawliet#88
$ES_READONLY als letzten Parameter glaub ich
05/16/2012 18:50 -STORM-#89
Quote:
Originally Posted by Lawliet! View Post
$ES_READONLY als letzten Parameter glaub ich
Funktioniert leider nicht.
Das ergebnis ist eine grau hinterlegte Box ohne den Pfeil zum Öffnen des Combomenüs (also wie ne normale Inputbox), in die ich immer noch etwas reinschreiben kann.
Laut Hilfedatei ist dieser Parameter nur für Inputboxen gedacht.

Edit: Im selben Kapitel der Hilfedatei hab ich die Lösung gefunden:
$CBS_DROPDOWNLIST
Damit funktioniert es genau wie ichs mir vorgestellt habe. :)
05/16/2012 19:38 Achat#90
Kann man eigentlich den Namen einer Variable in AutoIt auslesen?

MfG