VB6 & Flash10t.Ocx Uyumsuzluğu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DE5TROY3R
    DE5TROY3R's avatar
    Kayıt Tarihi: 04/Nisan/2007
    Erkek

    Bu ocxi toolboxdan forma aktarıp projeyi kaydetmeye çalışınca

    System Error &H80004005 (-2147467259), bilinmeyen hata

    diye hata veriyor

     

    çözümü varmıdır

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DE5TROY3R
    DE5TROY3R's avatar
    Kayıt Tarihi: 04/Nisan/2007
    Erkek

    Çözümü

     

    There has been recent news about Adobe Flash Control causing problem in VB6 projects. The last version of flash which didnt had any problem with VB6 was Flash10e.ocx it seems all version after that are having the same problem.

    Problem
    When we try to save a form containing a flash control, VB6 shows an error message.
    ---------------------------
    System Error &H80004005 (-2147467259). Unspecified error
    ---------------------------

    If we open an old project which already have a flash control, there is no problem in saving or compiling the app as long as we dont open the form containing the flash control.

    *Adding Flash Control or Adding any control to a form having a flash control
    *Opening a form with flash control and/or changing property of existing control

    And then trying to save it produces errors.

    Solution
    Downgrading to flash10e.ocx seems to fix the problem. Flash10f.ocx, Flash10g.ocx, Flash10h.ocx, Flash10i.ocx (the latest) all having the same problem. i tested all these controls.

    Fortunately its not happening at runtime. And if it ever happens in the future then solution would be to use Reg-Free COM Manifest file and include the older version of Flash control with your application.

    Step 1: Uninstall flash, we need to use the adobe flash uninstaller, because the flash installer leave a check in the registry and doesnt allow us to install an older version. so 1st uninstall flash using the instruction provided here

    Step 2: Getting Old Version. oldapps.com has Flash10d.ocx installer, download version 10.0.42.34 from there OR Adobe provides old version of their player on this page, you need to download the fp10_archive.zip 157 MB zip file and then go to \10r45_2 folder to find flashplayer10r45_2_winax.exe which is the Flash10e setup.

    fp10.1_archive.zip
    \10_1r53_64 = Flash10h.ocx
    \10_1r82_76 = Flash10i.ocx

    fp10_archive.zip
    \10r32_18 = Flash10c.ocx
    \10r42_34 = Flash10d.ocx
    \10r45_2 = Flash10e.ocx

    Searching in Adobe forum here i found many people having the same problem. If someone see this blog post and have any solution then please suggest. Thanks!

    Update: Sep 6, 2011.

    These workaround dont require you to downgrade the control and will work on any flash version installed.

    Workaround 1: For compiling existing app. If you have a multi-form application then if can safely compile the app If you dont open the form containing the flash control, you can

    Workaround 2: Manual Edit method for adding flash control to new app. Add and code the flash control, then remove the control, then add a picturebox with same name as your flash control. then save and exit VB6 IDE. now open your VB Form in notepad and find the picturebox control replace the picturebox code with the code below, modify the top, left values and also other value you want to change.

    ShockwaveFlashObjectsCtl.ShockwaveFlash Flash1
    Height = 3615
    Left = 360
    TabIndex = 1
    Top = 960
    Width = 4815
    _cx = 8493
    _cy = 6376
    FlashVars = ""
    Movie = ""
    Src = ""
    WMode = "Window"
    Play = "-1"
    Loop = "-1"
    Quality = "High"
    SAlign = ""
    Menu = "-1"
    Base = ""
    AllowScriptAccess= ""
    Scale = "ShowAll"
    DeviceFont = "0"
    EmbedMovie = "0"
    BGColor = "000000"
    SWRemote = ""
    MovieData = ""
    SeamlessTabbing = "1"
    Profile = "0"
    ProfileAddress = ""
    ProfilePort = "0"
    AllowNetworking = "all"
    AllowFullScreen = "false"
    End

    now move to top of the code and just below VERSION 5.00 add the following line.
    Object = "{D27CDB6B-AE6D-11CF-96B8-444553540000}#1.0#0"; "Flash10e.ocx"

    save the file, start VB6 and compile your project. 

Toplam Hit: 2674 Toplam Mesaj: 2