Flash Intro & AutoIT3

  • Hallo.
    Ich habe ein Programm erstellt und wollte nun noch etwas an der optik ändern.
    Beim ersten Starten soll ein Intro abgespielt werden und zwar eine .swf datei.

    [autoit]

    #include <GUIConstantsEx.au3>

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

    GUICreate("Test", 512, 288)
    $Flash = ObjCreate("testflash.swf")
    $FlashObj = GUICtrlCreateObj($Flash, 0, 0, 512, 288)
    $Flash.Movie = @ScriptDir & "\testflash.swf"
    $Flash.loop = true
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]


    Das Problem:

    D:\Program Files (x86)\AutoIt3\Examples\GUI\Advanced\test_swf\SWF-final.au3 (6) : ==> Variable must be of type "Object".:
    $Flash.Movie = @ScriptDir & "\testflash.swf"
    $Flash^ ERROR

    Merkwürdigerweise scheint es bei jedem anderen, der diesen Script gepostet hat, zu funktionieren.
    An der .swf datei liegt es zumindest nicht, aber ich kann die ja mal anhängen.

    mfg hpu

  • #include <GUIConstantsEx.au3> GUICreate("Test", 512, 288) $Flash = ObjCreate("testflash.swf") $FlashObj = GUICtrlCreateObj($Flash, 0, 0, 512, 288) $Flash.Movie = @ScriptDir & "\testflash.swf" $Flash.loop = true GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd


    Es liegt an deinem Skript, mach es so und es klappt:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    GUICreate("Test", 512, 288)
    $Flash = ObjCreate("ShockwaveFlash.ShockwaveFlash.1") ;<=======
    $FlashObj = GUICtrlCreateObj($Flash, 0, 0, 512, 288)
    $Flash.Movie = @ScriptDir & "\testflash.swf"
    $Flash.loop = true
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    beachte Zeile 4, da war der Fehler,

    mfg autoBert

  • Ahh ...
    Ich weiß nicht, aber "Facepalm" beschreibt die situation wirklich gut ^^

    Es klappt tatsächlich.

    Hab bei Compile Output arch von "Use x64 version" auf "Use x86 version" umgeschaltet und es klappt.
    Ich glaube ich muss hier wieder ein 32 bit Betriebssystem installieren. Irgendwie gibt es bei XP 64 bit sowieso kaum Vorteile.
    *Wieso zum teufel habe ich mich nur zu einem 64 bit System überreden lassen ... *

    Wo wir gerade bei 32/64 Bit sind:

    Würde das Programm auch auf 32 Bit Rechner mit diesen Einstellungen laufen?
    Ein User, der mein Programm betatesten wollte, meinte es würde nicht laufen. Haben es dann so geregelt, dass ich das selbe Programm nochmal auf einem 32 Bit system compilen muss. Nur vor einigen Tagen hat sich der Lesekopf der Festplatte mit dem 32bit system verabschiedet ^^

    Trotzdem Danke für die echt schnelle Hilfe.

  • Würde das Programm auch auf 32 Bit Rechner mit diesen Einstellungen laufen?
    Ein User, der mein Programm betatesten wollte, meinte es würde nicht laufen.

    wenn ein Programm für 32-Bit kompiliert ist muss es auch auf 32-Bit-Systemen laufen, vorausgesetzt alle dafür benötigten Komponenten sind auf diesem System installiert. Du kannst ja das kleine Skript auf 32-Bit (aber bitte ohne UPX, sonst meckert warscheins der Virenscanner) kompilieren umbenennen nach Name.TXT (sonst kannst du es hier nicht hochladen) und dann hochladen. Da ja das Skript (aus Post #2) bei mir läuft kann ich es kurz testen, bin mir aber sicher es geht.

    PS.: wie kommst du auf FacePalm, habe ich etwas überlesen?

    mfg autoBert

  • Hallo HPU,

    leider:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Du hast aber mit der Beta-Version compiled, glaube zwar nicht dass es daran liegt aber versch es noch einmal mit der Auswahl Production 3.3.6.1 (diese ist eh aktueller als die Beta)

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    PS.: Au3-Files brauchst du nicht vor dem Hochladen umbennen

    mfg autoBert

  • Hallo HPU,

    Leider immer noch:
    C:\Programme\AutoIt3\Examples\Tests\HPU\
    C:\Programme\AutoIt3\Examples\Tests\HPU\Intro_versuch.exe ist keine zulässige Win32-Anwendung.

    Davon gehe ich doch aus. Wäre schlimm, wenn nicht!

    wie du siehst it es aber so,

    mfg auztoBert

  • Diesmal sind die Einstellungen aber korrekt, oder?
    Dann müsste ich das ganze auf einem 32 bit system erstellen.

    Soweit ich das verstanden habe ist x86 das 32er system und x64 das 64er system (verwirrend)...
    Zumindest meckert autoit immer rum, wenn ich x64er version anklicke, dass es nur auf 64bit Rechnern läuft.

    Also brauche ich ein 2. Betriebssystem. Damit klappt es 100%ig, weil ich das schonmal versucht habe. Ist nur ziemlich umständlich.
    Besonders jetzt wo meine Festplatte mit der Standard version von XP kaputt ist (Lesekopf ist abgefallen).

    Aber das Hauptproblem ist gelöst.

    mfg