Strange behaviour when running parameterized test

Hello,
I am using Flex 4.5 and FlexUnit 4.1 inside of the Flashdevelop IDE and I am experiencing some very strange behaviour.
If I have 5 parameters to my test the test runs fine. When I add a sixth parameter of the type Array, I get the following error:
"TypeError: Error #1009: Cannot access a property or method of a null object reference."
Please see below for my example code.
The following parameterized test case runs without a problem:
package {
    import org.flexunit.runners.Parameterized;
    [RunWith('org.flexunit.runners.Parameterized')]
    public class ParameterizedTest {
        [Parameters]
        public static var testData:Array = [
            [1,1,new Array(),1,1]
        public function ParameterizedTest(
            param1:uint,
            param2:uint,
            param3:Array,
            param4:uint,
            param5:uint
        ):void {
        [Test]
        public function testOne():void {
            // Test to go here.
When I add an Array as the sixth parameter :
package {
    import org.flexunit.runners.Parameterized;
    [RunWith('org.flexunit.runners.Parameterized')]
    public class ParameterizedTest {
        [Parameters]
        public static var testData:Array = [
            [1,1,new Array(),1,1,new Array()]
        public function ParameterizedTest(
            param1:uint,
            param2:uint,
            param3:Array,
            param4:uint,
            param5:uint,
            param6:Array
        ):void {
        [Test]
        public function testOne():void {
            // Test to go here.
I get this error :
com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.test One (1,1,,1,1,) .
TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at flex.lang.reflect::Constructor/newInstanceApply()[E:\hudson\jobs\FlexUnit4-Flex4.1\worksp ace\FlexUnit4\src\flex\lang\reflect\Constructor.as:253]
    at TestClassRunnerForParameters/createTest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\Flex Unit4\src\org\flexunit\runners\Parameterized.as:455]
    at org.flexunit.runners::BlockFlexUnit4ClassRunner/methodBlock()[E:\hudson\jobs\FlexUnit4-Fl ex4.1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:314]
    at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()[E:\hudson\jobs\FlexUnit4-Flex4 .1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:152]
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
    at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
    at org.flexunit.runners::Parameterized/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runners\Parameterized.as:273]
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
    at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
    at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
    at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
    at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
    at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
    at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()[E:\hudson\jobs\FlexUnit4-Flex4.1 \workspace\FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:348]
    at org.flexunit.runner::FlexUnitCore/runRunner()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\ FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:307]
    at org.flexunit.runner::FlexUnitCore/runRequest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:283]
    at org.flexunit.runner::FlexUnitCore/runClasses()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:269]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at org.flexunit.runner::FlexUnitCore/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUn it4\src\org\flexunit\runner\FlexUnitCore.as:245]
    at com.berog.proj_drum_machine.tests::TestMain()[E:\Actionscript\projects\DrumMachine\src\co m\berog\proj_drum_machine\tests\TestMain.as:18]
com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.test One (1,1,,1,1,) E
Time: 0.013
There was 1 failure:
1 com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.tes tOne (1,1,,1,1,) TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at flex.lang.reflect::Constructor/newInstanceApply()[E:\hudson\jobs\FlexUnit4-Flex4.1\worksp ace\FlexUnit4\src\flex\lang\reflect\Constructor.as:253]
    at TestClassRunnerForParameters/createTest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\Flex Unit4\src\org\flexunit\runners\Parameterized.as:455]
    at org.flexunit.runners::BlockFlexUnit4ClassRunner/methodBlock()[E:\hudson\jobs\FlexUnit4-Fl ex4.1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:314]
    at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()[E:\hudson\jobs\FlexUnit4-Flex4 .1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:152]
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
    at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
    at org.flexunit.runners::Parameterized/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runners\Parameterized.as:273]
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
    at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
    at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
    at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
    at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
    at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
    at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()[E:\hudson\jobs\FlexUnit4-Flex4.1 \workspace\FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:348]
    at org.flexunit.runner::FlexUnitCore/runRunner()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\ FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:307]
    at org.flexunit.runner::FlexUnitCore/runRequest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:283]
    at org.flexunit.runner::FlexUnitCore/runClasses()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:269]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at org.flexunit.runner::FlexUnitCore/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUn it4\src\org\flexunit\runner\FlexUnitCore.as:245]
    at com.berog.proj_drum_machine.tests::TestMain()[E:\Actionscript\projects\DrumMachine\src\co m\berog\proj_drum_machine\tests\TestMain.as:18]
FAILURES!!! Tests run: 1, 1 Failures:
Can anyone help me?

Actually, I do see what's wrong.
When you call a method in the ActionScript universe, you can can usually do a function.apply() and pass it a variable number of args. Unfortunately, constructors are the one type of method where this doesn't work. You can't actually do an apply() so we have to fake it by having a map of static functions which each know how to apply a given number of arguments to the constructor. There is a check in the code that tests if the number of arguments you have exceeds what our static map knows how to apply.
It looks like that check should have thrown the error:
throw new ArgumentError("Sorry, we can't support constructors with more than " + argMap.length + " args out of the box... yes, its dumb, take a look at Constructor.as to modify on your own");
It didn't and I am guessing its because there is a border condition here. So, what happening is that we only support up to 5 arguments right now. That number is arbitrary. When it was written it just seemed like a reasonable number, however, this class was written before Parameterized testing was introduced.
Your three choices right now would be to use the TestNG style of Parameterized testing, which uses functions and not constructor args so it will not suffer this same fate, change the code and compile flexunit for yourself, or we could put a patched Constructor class in your project which fixes it. Longer term, I would like you to file a bug that we should increase the number to 10 or some other quasi-reasonable number. We will never be able to support an infinite number and we will always need to pick som arbitrary line in the sand. It just seems our line should be farther out.
Mike

Similar Messages

  • When installing a NI 5112, I get an error message when running the test panel.

    I have recently decided to reinstall my PCI 5112 high speed digitizer in a different computer, for practical reasons. After having installed the software, hardware and successfully passing the self test, an error (10800) occurs when running the test panels. The signal applied to the channel and the different parameters used, worked fine with the previous computer but not with this one. Any idea why?
    Thanks,
    Thomas

    Hello Thomas,
       The error code you are getting is related to the board not recording enough samples in the given time interval.  May I ask which series of PCI card you are using. This can be found by looking at the device in Measurement and Automation Explorer and looking under devices and interfaces. The series letter is the one on the end of the number after the hyphen. E.g. PCI-MIO-16E-4 would be an E-series board.
    Also which versions of Measurement and Automation Explorerand NI-Scope are you running? Are these the same versions as you used in the old PC system? Sometimes an upgrade in the version is all that is required to fix such a problem but unfortunately it can sometimes cause a problem if you upgrade! It would depend on the versions you are currently running and the series of the board that you are using.
    LeeM
    AE,
     National Instruments
    Message Edited by LeeM on 10-31-2006 10:47 AM

  • Strange behaviour when looping MIDI

    Hi,
    I encounter a strange behaviour when looping MIDI:
    1) Created a new MIDI track
    2) Recorded two bars of MIDI drum track (e.g. just a bass drum with Indie Kit Live) via my EDIROL and MIDI piano.
    3) played it back: works
    4) checked the "Loop" box
    5) played it back: after the 4th repeat the drum pattern changes. either it misses two beats or does not play the bass drum but the hihat for two beats.
    I'm using Logic Pro 8.
    Can someone tell me what's going on and how this can be resolved?
    Also on some occasions I have the following behaviour:
    1) Recorded MIDI in loop mode (a few takes).
    2) Played it back: Did not produce any sound.
    3) Tried a different take from the take folder: Did not produce any sound.
    4) Tried to mute/unmute track and different take from the folder: Did not produce any sound.
    5) Tried to MIDI mute/unmute different takes from the folder: Did not produce any sound.
    6) Closed/reopened project and MIDI unmuted the take: Played fine.
    Thanks a lot for some help with those two problems.
    Alex

    Did not happen again in Logic 9 and after starting a fresh project.

  • [svn] 2763: add toplevel.abc location when running asc tests

    Revision: 2763
    Author: [email protected]
    Date: 2008-08-06 12:53:29 -0700 (Wed, 06 Aug 2008)
    Log Message:
    add toplevel.abc location when running asc tests
    Modified Paths:
    flex/sdk/trunk/build.xml

    Revision: 2763
    Author: [email protected]
    Date: 2008-08-06 12:53:29 -0700 (Wed, 06 Aug 2008)
    Log Message:
    add toplevel.abc location when running asc tests
    Modified Paths:
    flex/sdk/trunk/build.xml

  • Strange behaviour when placing text frame on top of image

    Hi,
    Win XP, FM 8.04
    I have a front cover that consists of a TIF image that bleeds off the page. On top of that image I want to put a text frame with the book title.
    The strange thing is that when I create the text frame and use the toolbar buttons to nudge it down on the page, the text (but not the frame) suddenly jumps to a totally different place way down on the page, despite only nudging it, say, 10 mm.
    Any ideas why this is happening?
    /Mats

    Hi,
    Partly solved:
    After some tests, it seems FM does not like when you try to move a text frame over a transparent area in an image. The image in question was made by importing a PDF into Photoshop, then saving as TIF. Since the PDF contained an area that was had full transparency in InDesign (i.e. "Paper"), that area was also in the TIF image.
    The strange behaviour starts exactly at the border where the transparency starts. In non-transparent areas, there is no problem.
    Seems like a bug.
    /Mats

  • Queue with callback function - strange behaviour when using max_retries

    Hi,
    I hope someone can tell me what is wrong or can explain the following strange behaviour to me.
    I am using one queue with a registered callback function. To test the behavoiur in case of an error I tested different settings, with or without explicit exception queue and with or without parameter max_retries.
    Database Version is 11.2.0.2.   Enterprise Edition
    I enqueue 10 messages in a loop.
    I define no exception queue and do not set max_retries
    ==> all messages stay in the queuetable with q_name = AQ$_... (implicit exception queue) and retry_count = 5
    I define no exception queue and set max_retries = 4
    ==> 1 message stays in the queuetable with q_name = AQ$_... (implicit exception queue) and retry_count = 4
           9 messages stay in the queuetable with q_name = nomal queue name and retry_count = 0
    I define an exception queue and set max_retries = 4
    ==> 1 message is transfered to the Exception Queuetable with retry_count = 4
           9 messages stay in the normal Queuetable and retry_count = 0
    I define an exception queue and do not set max_retries
    ==> all 10 messages are transferred to the Exception Queuetable with retry_count = 5
    I have no explanation for the behaviour in case 2 and case 3.
    To create the queue and the callback I use this code (reduced to minimum):
    begin
       DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table        => 'TESTUSER.TEST_TABELLE'
                                   , Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
                                   , sort_list          => 'enq_time'
                                   , multiple_consumers => FALSE
       DBMS_AQADM.CREATE_QUEUE( queue_name  => 'TESTUSER.TEST_QUEUE'
                              , queue_table => 'TESTUSER.TEST_TABELLE'
    --                          , max_retries => 4                     uncomment this line to set max_retries
    -- uncomment the following Block to use an explicit Exception Queue
    /*   DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table        => 'TESTUSER.TEST_TABELLE_EXC'
                                   , Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
                                   , sort_list          => 'enq_time'
                                   , multiple_consumers => FALSE
       DBMS_AQADM.CREATE_QUEUE( queue_name  => 'TESTUSER.TEST_QUEUE_EXC'
                              , queue_table => 'TESTUSER.TEST_TABELLE_EXC'
                              , queue_type  => dbms_aqadm.EXCEPTION_QUEUE);
       DBMS_AQADM.START_QUEUE('TESTUSER.TEST_QUEUE');
    end;
    create or replace procedure test_procedure
      (context  RAW
      ,reginfo  sys.AQ$_reg_info
      ,descr    sys.AQ$_descriptor
      ,payload  VARCHAR2
      ,payloadl NUMBER
      ) authid definer
      IS
      -- für Queue
      dequeue_options   DBMS_AQ.dequeue_options_t;
      message_prop      DBMS_AQ.message_properties_t;
      message_hdl       raw(16);
      message           sys.aq$_jms_text_message;
      l_daten           VARCHAR2(32767);
      ex_hugo          EXCEPTION;
      BEGIN
        dequeue_options.msgid         := descr.msg_id;
        dequeue_options.consumer_name := descr.consumer_name;
        dbms_aq.dequeue(descr.queue_name, dequeue_options, message_prop, message, message_hdl);
        -- to provoke an error
        RAISE ex_hugo;
        -- regurlar coding
        commit;
    exception
      when others then
           rollback;
           RAISE;
    end;
    DECLARE
       reginfo1    sys.aq$_reg_info;
       reginfolist sys.aq$_reg_info_list;
    BEGIN
       reginfo1 := sys.aq$_reg_info('TESTUSER.TEST_QUEUE', DBMS_AQ.NAMESPACE_AQ, 'plsql://TESTUSER.TEST_PROCEDURE?PR=0',HEXTORAW('FF'));
       reginfolist := sys.aq$_reg_info_list(reginfo1);
       sys.dbms_aq.register(reginfolist, 1);
       commit;
    END;
    to enqueue my messages i use:
    DECLARE
      message            sys.aq$_jms_text_message;
      enqueue_options    dbms_aq.enqueue_options_t;
      message_properties dbms_aq.message_properties_t;
      msgid              raw(16);
      v_daten            clob;
    BEGIN
       message := sys.aq$_jms_text_message.construct;
       for i in 1..10
       loop
          v_daten := '{ dummy_text }';
          message.set_text(v_daten);
    -- uncomment the following line to use an explicit Exception Queue     
    --      message_properties.exception_queue := 'TESTUSER.TEST_QUEUE_EXC'; 
          dbms_aq.enqueue(queue_name         => 'TESTUSER.TEST_QUEUE',
                          enqueue_options    => enqueue_options,
                          message_properties => message_properties,
                          payload            => message,
                          msgid              => msgid);
          message.clear_properties();
       end loop;
       commit;
    END;

    Hi Chris,
    I tried to reproduce your complaint, but was unable to. I didnt use auditting however, just a series of "select user from dual" with proxy authentication. You might want to see if you can put together a small complete testcase for this and open a sr with support.
    Cheers
    Greg

  • Error when running unit tests

    Hi,
    I'm getting the error 'Marker id <num> not found' about 9 times out of 10 when I try to run unit tests in Flash Builder 4.5 Premium. This is happening on a new (2 weeks old) spark + mx project, with the unit test classes created in Flash Builder using the built-in tools. Using Run As or Debug does not seem to make a difference to whether the error occurs or not. I have to just keep retrying until it runs correctly.
    I am using the AS Code Coverage plugin and the FlexUnit 4.1.
    Please help as this is driving me mad!
    Thanks,
    Adam

    Here you go.  Looks like it shrunk down the libraries image though.

  • Strange behaviour when setting client_info and module in v$session

    Hello,
    I've tried to set the CLIENT_INFO field in V$SESSION using DBMS_APPLICATION_INFO.SET_CLIENT_INFO but found a strange behaviour.
    Normally the forms modules seems to set the field MODULE in V$SESSION to its name. If I use DBMS_APPLICATION_INFO.SET_CLIENT_INFO the CLIENT_INFO field is set correctly but the MODULE field is set to 'frmweb.exe' instead of the forms modules name.
    I also tried to set the MODULE using DBMS_APPLICATION_INFO.SET_MODULE but then strangely the MODULE and MODULE_HASH field of the original frmweb.exe (the main applet?) entry and the entry for the forms module were the same (set to the new module name). From now on every newly opened module had 'frmweb.exe' as the module entry until I closed the forms application.
    Example:
    Entries in V$SESSION:
    -- After start of forms application there is only one entry for the process:
    PROCESS           MODULE            MODULE_HASH            CLIENT_INFO
    1596:7204         frmweb.exe        854945150
    -- When a new forms module is opened it looks like this:
    PROCESS           MODULE            MODULE_HASH            CLIENT_INFO
    1596:7204         frmweb.exe        854945150
    1596:7204         my_module         1929284615
    -- When the modified forms module that sets the client_info/module is opened this happens:
    PROCESS           MODULE            MODULE_HASH            CLIENT_INFO
    1596:7204         mod_module        3097977240
    1596:7204         mod_module        3097977240             my client info
    1596:7204         my_module         1929284615As one can see the entry of the forms application seems to be overriden (at least the MODULE and MODULE_HASH fields) but the CLIENT_INFO only changes for one of the entries?
    The following code is responsible for the changes of CLIENT_INFO and MODULE:
        -- get client info
        client_info :=
            webutil_clientinfo.get_ip_address
            || ' (' ||
            webutil_clientinfo.get_user_name
            || ')'
        -- set client info
        DBMS_APPLICATION_INFO.SET_CLIENT_INFO(client_info);
        -- get module (set action to '')
        DBMS_APPLICATION_INFO.SET_MODULE(name_in('system.current_form'),''); I really don't understand, why it does not work properly.
    Any help is appreciated!
    Thanks in advance.

    This was an application module pooling, activation / passivation issue.
    After view objects had been set-up correctly, the problem disappeared.

  • Strange behaviour when using connection pooling with proxy authentication

    All
    I have developed an ASP.NET 1.1 Web application that uses ODP.NET 9.2.0.4 accessing Oracle Database 8i (which is to be upgraded to 10g in the coming months). I have enabled connection pooling and implemented proxy authentication.
    I am observing a strange behaviour in the live environment. If two users (User 1 and User 2) are executing SQL statements at the same time (concurrent threads in IIS), the following is occurring:
    * User 1 opens a new connection, executes a SELECT statement, and closes this connection. The audit log, which uses the USER function, shows User 1 executed this statement.
    * User 2 opens the same connection (before it is released to the connection pool?), excutes an INSERT statement, and closes this connection. The audit log shows User 1, not User 2, executed this statement.
    Is this a known issue when using connection pooling with proxy authentication? I appreciate your help.
    Regards,
    Chris

    Hi Chris,
    I tried to reproduce your complaint, but was unable to. I didnt use auditting however, just a series of "select user from dual" with proxy authentication. You might want to see if you can put together a small complete testcase for this and open a sr with support.
    Cheers
    Greg

  • Getting a runtime error when running the test project

    I was running a test project which did execute without any problems. Then I added 2 extra DLLs and wrote some code as well. After that I got the below specified run time error. Though I removed those DLLs and new code still it doesn't run. This was running
    fine though. Please advice.
    Warning: Test Run deployment issue: The assembly or module 'Npgsql' directly or indirectly referenced by the test container 'g:\services\communityservice\communityservicetest\bin\release\communityservicetest.dll' was not found.
    Warning: Test Run deployment issue: The assembly or module 'IBM.Data.DB2' directly or indirectly referenced by the test container 'g:\services\communityservice\communityservicetest\bin\release\communityservicetest.dll' was not found.
    Warning: Test Run deployment issue: The assembly or module 'Oracle.DataAccess' directly or indirectly referenced by the test container 'g:\services\communityservice\communityservicetest\bin\release\communityservicetest.dll' was not found.
    mayooran99

    @Mayooran99,
    I agree with Andy. By the way, when you build a new test project and if you want to add dll to your project, please make sure you will follow this article:
    https://msdn.microsoft.com/en-us/library/wkze6zky.aspx
    When you use Add reference dialog please don't forget to set copy local to true.(By default I think new project will not have this problem, the reason may like Andy mentioned that you still have some references to those two dlls when you removed them)Best
    regards,
    Barry
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Unable to establish loopback connection when running junit tests

    Hello,
    I just started using jrockit (jrockit-jdk1.6.0_20-R28.1.0-4.0.1) and I encounter a problem running junit tests.
    I have 2 tests in the same junit suite, both do binding to 127.0.0.1.
    The first test succeeds in the binding. Once it finishes, the second one tries to bind to same address and fails due to IOException, Unable to establish loopback connection (logs below)
    If I run them using sun's hotspot jvm they work fine.
    If I run them separately, i.e, only one test per suite, each works fine.
    It seems that only when switching to jrockit I get the problem.
    Any idea?
    Thanks,
    Edo
    Logs:
    ERROR [Main Thread_1] Failed to start ConnectionFullVirtualServer[server.traffix.com/127.0.0.1:3868]
    [org.jboss.netty.channel.ChannelException: Failed to bind to: server.traffix.com/127.0.0.1:3868 ] thrown
         org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:303)
         com.traffix.openblox.core.transport.ConnectionFullVirtualServer.listen(ConnectionFullVirtualServer.java:60)
         com.traffix.openblox.core.transport.VirtualServerTable.listen(VirtualServerTable.java:143)
         com.traffix.openblox.core.transport.StackImpl.doStart(StackImpl.java:772)
         com.traffix.openblox.core.transport.TransportStack.doStart(TransportStack.java:156)
         com.traffix.openblox.core.transport.StackStateMachineImpl.doStart(StackStateMachineImpl.java:75)
         com.traffix.openblox.core.transport.StackStateMachine$StackStateConfigured.processEvent(StackStateMachine.java:60)
         com.traffix.openblox.core.fsm.StateMachine.processEvent(StateMachine.java:90)
    Caused by: java.io.IOException: Unable to establish loopback connection
         sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:106)
         sun.nio.ch.PipeImpl.<init>(PipeImpl.java:122)
         sun.nio.ch.SelectorProviderImpl.openPipe(SelectorProviderImpl.java:27)
         java.nio.channels.Pipe.open(Pipe.java:133)
         sun.nio.ch.WindowsSelectorImpl.<init>(WindowsSelectorImpl.java:41)
         sun.nio.ch.WindowsSelectorProvider.openSelector(WindowsSelectorProvider.java:26)
         java.nio.channels.Selector.open(Selector.java:209)
         org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink$Boss.<init>(NioServerSocketPipelineSink.java:219)
    Caused by: java.nio.channels.ClosedByInterruptException
         java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:184)
         sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:518)
         java.nio.channels.SocketChannel.open(SocketChannel.java:146)
         sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:78)
         sun.nio.ch.PipeImpl.<init>(PipeImpl.java:122)
         sun.nio.ch.SelectorProviderImpl.openPipe(SelectorProviderImpl.java:27)
         java.nio.channels.Pipe.open(Pipe.java:133)
         sun.nio.ch.WindowsSelectorImpl.<init>(WindowsSelectorImpl.java:41)[ com.traffix.openblox.core.transport.VirtualServerTable.listen(VirtualServerTable.java:146) ][22/12/2010 11:05:57:511]
    ERROR [Main Thread_1] Failed to start Endpoint Stack(server.traffix.com Configured)
    [org.jboss.netty.channel.ChannelException: Failed to bind to: server.traffix.com/127.0.0.1:3868 ] thrown
         org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:303)
         com.traffix.openblox.core.transport.ConnectionFullVirtualServer.listen(ConnectionFullVirtualServer.java:60)
         com.traffix.openblox.core.transport.VirtualServerTable.listen(VirtualServerTable.java:143)
         com.traffix.openblox.core.transport.StackImpl.doStart(StackImpl.java:772)
         com.traffix.openblox.core.transport.TransportStack.doStart(TransportStack.java:156)
         com.traffix.openblox.core.transport.StackStateMachineImpl.doStart(StackStateMachineImpl.java:75)
         com.traffix.openblox.core.transport.StackStateMachine$StackStateConfigured.processEvent(StackStateMachine.java:60)
         com.traffix.openblox.core.fsm.StateMachine.processEvent(StateMachine.java:90)
    Caused by: java.io.IOException: Unable to establish loopback connection
         sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:106)
         sun.nio.ch.PipeImpl.<init>(PipeImpl.java:122)
         sun.nio.ch.SelectorProviderImpl.openPipe(SelectorProviderImpl.java:27)
         java.nio.channels.Pipe.open(Pipe.java:133)
         sun.nio.ch.WindowsSelectorImpl.<init>(WindowsSelectorImpl.java:41)
         sun.nio.ch.WindowsSelectorProvider.openSelector(WindowsSelectorProvider.java:26)
         java.nio.channels.Selector.open(Selector.java:209)
         org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink$Boss.<init>(NioServerSocketPipelineSink.java:219)
    Caused by: java.nio.channels.ClosedByInterruptException
         java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:184)
         sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:518)
         java.nio.channels.SocketChannel.open(SocketChannel.java:146)
         sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:78)
         sun.nio.ch.PipeImpl.<init>(PipeImpl.java:122)
         sun.nio.ch.SelectorProviderImpl.openPipe(SelectorProviderImpl.java:27)
         java.nio.channels.Pipe.open(Pipe.java:133)
         sun.nio.ch.WindowsSelectorImpl.<init>(WindowsSelectorImpl.java:41

    Have you tracked down if the phone actually sends the TCP connection to the desktop? I'm feeling that this is a firewall issue that shows itself when the firewall zone changes (public/private/domain).
    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.
    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined
    objects and unknown namespaces.

  • Strange issue when running sql with false condition

    Hi,
    I'm running this query from the application:
    select 22
    from DUAL
    where ( to_number(0) <> 0 ) and exists (
    select 'X'
    from TABULA.macdent$FNCITEMS
    where ( macdent$FNCITEMS.QIV = to_number(0) ) );
    And it takes a long time because it is checking the second condition.
    Even though the first one is False.
    When running it through sqlplus it takes nothing. and of course no rows returns.
    The 0 in to_number is a bind variable
    it looks like this:
    select :intvar
    from DUAL
    where ( to_number(:QIV$) <> 0 ) and exists ( select 'X'
    from TABULA.macdent$FNCITEMS
    where ( macdent$FNCITEMS.QIV = to_number(:QIV$) ) )
    1 - filter predicate: ( IS NOT NULL AND 0<>TO_NUMBER(TO_CHAR(:QIV$)))
    But in sqlplus the filter predicates is different.
    1 - filter(NULL IS NOT NULL AND EXISTS (SELECT 0 FROM "TABULA"."MACDENT$FNCITEMS" "MACDENT$FNCITEMS" WHERE
    SQL> select 22
    from DUAL
    where ( to_number(0) <> 0 ) and exists (
    select 'X'
    from TABULA.macdent$FNCITEMS
    where ( macdent$FNCITEMS.QIV = to_number(0) ) );
    2 3 4 5 6
    no rows selected
    Elapsed: 00:00:00.00
    Execution Plan
    Plan hash value: 883410849
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
    Time | TQ |IN-OUT| PQ Distrib |
    | 0 | SELECT STATEMENT | | 1 | | 0 (0)| | | | |
    |* 1 | FILTER | | | | | | | | |
    | 2 | FAST DUAL | | 1 | | 2 (0)|00:00:01 | | | |
    | 3 | PX COORDINATOR | | | | | | | | |
    | 4 | PX SEND QC (RANDOM)| :TQ10000 | 63M| 782M| 2 (0)|00:00:01 | Q1,00 | P->S | QC (RAND) |
    | 5 | PX BLOCK ITERATOR | | 63M| 782M| 2 (0)|00:00:01 | Q1,00 | PCWC | |
    |* 6 | TABLE ACCESS FULL| MACDENT$FNCITEMS | 63M| 782M| 2 (0)|00:00:01 | Q1,00 | PCWP | |
    Predicate Information (identified by operation id):
    1 - filter(NULL IS NOT NULL AND EXISTS (SELECT 0 FROM "TABULA"."MACDENT$FNCITEMS" "MACDENT$FNCITEMS" WHERE
    "MACDENT$FNCITEMS"."QIV"=0))
    6 - filter("MACDENT$FNCITEMS"."QIV"=0)
    ANY SUGGESTIONS?
    Thanks,

    912294 wrote:
    Hi,
    I'm running this query from the application:
    select 22
    from DUAL
    where ( to_number(0) <> 0 ) and exists (
    select 'X'
    from TABULA.macdent$FNCITEMS
    where ( macdent$FNCITEMS.QIV = to_number(0) ) );
    Why are you using "to_number(0)"? the zero is already seen by oracle as a number.
    The to_number function expects to get a character string as the argument: to_number('0')
    See the difference?
    As you currently have it coded, you are forcing oracle to do an implicit conversion of the number zero to the character string '0' in order to pass it to to_number to convert it back to the number zero.
    And what is the point of "where to_number(0) <> 0"
    When would that EVER be true?
    And it takes a long time because it is checking the second condition.
    Even though the first one is False.
    When running it through sqlplus it takes nothing. and of course no rows returns.
    The 0 in to_number is a bind variable
    it looks like this:
    select :intvar
    from DUAL
    where ( to_number(:QIV$) <> 0 ) and exists ( select 'X'
    from TABULA.macdent$FNCITEMS
    where ( macdent$FNCITEMS.QIV = to_number(:QIV$) ) )
    So the query you showed at the top is not the query we are really dealing with. What is the data type of QIV$? At least now we know that comparison to zero is not a fixed value.
    1 - filter predicate: ( IS NOT NULL AND 0<>TO_NUMBER(TO_CHAR(:QIV$)))
    This suggests QIV$ is already a number, else why would you pass it to to_char? And as I said above, if it is already a number, why pass it to to_number? Here you appear to be explicitly doing what I described oracle as implicitly doing in your first query above.
    But in sqlplus the filter predicates is different.
    1 - filter(NULL IS NOT NULL AND EXISTS (SELECT 0 FROM "TABULA"."MACDENT$FNCITEMS" "MACDENT$FNCITEMS" WHERE
    SQL> select 22
    from DUAL
    where ( to_number(0) <> 0 ) and exists (
    select 'X'
    from TABULA.macdent$FNCITEMS
    where ( macdent$FNCITEMS.QIV = to_number(0) ) );
    2 3 4 5 6
    no rows selected
    Elapsed: 00:00:00.00
    Execution Plan
    Plan hash value: 883410849
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
    Time | TQ |IN-OUT| PQ Distrib |
    | 0 | SELECT STATEMENT | | 1 | | 0 (0)| | | | |
    |* 1 | FILTER | | | | | | | | |
    | 2 | FAST DUAL | | 1 | | 2 (0)|00:00:01 | | | |
    | 3 | PX COORDINATOR | | | | | | | | |
    | 4 | PX SEND QC (RANDOM)| :TQ10000 | 63M| 782M| 2 (0)|00:00:01 | Q1,00 | P->S | QC (RAND) |
    | 5 | PX BLOCK ITERATOR | | 63M| 782M| 2 (0)|00:00:01 | Q1,00 | PCWC | |
    |* 6 | TABLE ACCESS FULL| MACDENT$FNCITEMS | 63M| 782M| 2 (0)|00:00:01 | Q1,00 | PCWP | |
    Predicate Information (identified by operation id):
    1 - filter(NULL IS NOT NULL AND EXISTS (SELECT 0 FROM "TABULA"."MACDENT$FNCITEMS" "MACDENT$FNCITEMS" WHERE
    "MACDENT$FNCITEMS"."QIV"=0))
    6 - filter("MACDENT$FNCITEMS"."QIV"=0)
    ANY SUGGESTIONS?
    Thanks,

  • Strange problem when running scripts via packages

    Hi there,
    I am having problems with a really wierd issue, and I'm just wondering if anyone else is seeing the same thing.
    I have a simple script which copies some data around with the same application, and it runs perfectly when run from the script debugger. But when I try and run it from a package, no matter what path I add into the "MODIFYSCRIPT" variable, the package keeps trying to run DEFAULT logic.
    This is from my Formula log after the package has run (and failed, as I temporarily renamed DEFAULT.lgf):
    Logic File:E:\BPC\Data\WebFolders\<appset>\Adminapp\work_Force\CopyCatWORKFORCE.lgf
    (this is the correct path to my logic file)
    But then further down I get an error:
    missing file:E:\BPC\DATA\WebFolders\<appset>\AdminApp\work_Force\DEFAULT.LGX
    I'm not trying to run default logic, and this doesn't appear in my CopyCatWorkforce.lgf script as an *INCLUDE either.
    I have tried to create a brand new package file in BIDS, but for some reason it STILL looks for default even though I haven't told it to!
    Any ideas? I'm stumped on this one!
    Thanks,
    Jason

    OK, so I have just realised I didn't have the LOGICMODE=1 flag in my MODIFYSCRIPT, which I've now added!
    Solved this issue, but now created another one... closing this and will post a new question later...

  • Strange behaviour when passing many input parameters to web service

    Hello!!!
    I developed a web service with 52 input parameters using tomcat+axis!
    While testing it in my development enviroment everything was working fine
    (LAN consisted of three windows 2000 server machines!!!)
    When i deployed it in my customer enviroment (VPN with 200 isdn connections) i get a very strange error:
    AxisFault
    faultCode: {http://xml.apache.org/axis/}HTTP
    faultSubcode:
    faultString: (0)null
    faultActor:
    faultNode:
    faultDetail:
    {}string: return code: 0
    (0)null
    when i used tcptracer in order to understand what is going on,
    I realised that the error occurs when the http request is more than 1350 bytes.
    Can someone explain this behaviour?
    thanks in advance!
    sarantos

    Hi Sarantos,
    I think, there is nothing wrong in the axis engine nor the http request limits as you said. I tried the same passing a 60 kb String as an argument to an operation , getting the results perfectly.
    So problem could be with the method capacity size of your implementation. (I think default it is 64kb)
    bye
    Charlie

  • Strange behaviour when embedding HTML page in Air

    Hi,
    I'm trying to embedd a HTML page to a Air application.
    The HTML page has a simple Flex application (TestFlex4Project.mxml) with a button that changes one HTML element on the web page (TestFlex4Project.html) using ExternalInterface. If I run the Flex application using the HTML page it works just fine and when I click the button the HTML ellement is changed and the mouseover- and onclick events works. If I embedd the HTML page in an Air application the mouseover- and onclick events does not work any more. Why?
    If I use Aternative 1 in the HTML code (instead of using Aternative 2 in the HTML code where I'm editing the innerHTML property) the mouseover- and onclick events works when the HTML page is embeded in Air. Why?
    Even more strange is that if I remove the line [<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />] from the HTML page the Flex application dose not show at all when embedded in Air. Why?
    You can try the online sample here and the files here.
    The application looks like this:
    And if you click the button and click the upper most text you will recieve a message like this:
    But not when I use innerHTML and embedd the HTML page in Air. Can anyone please help me with this issue. Is it a bug or what am I doing wrong? I need to change some HTML elements using innerHTML.
    Thanks!!
    The code for TestFlex4Project.mxml is like this
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
    width="100%"
    height="100%">
    <fx:Script>
      <![CDATA[
       function buttonClickHandler(event:Event):void{
       ExternalInterface.call(" function(){SetHTML();}")
      ]]>
    </fx:Script>
    <s:HGroup verticalAlign="middle">
      <s:Button label="Edit HTML Element" click="buttonClickHandler(event)"/> 
    </s:HGroup>
    </s:Application>
    The code for TestFlex4Project.html is like this
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8"/>
    <title>Test Flex 4 Project</title>
    <meta name="description" content="" />
    <script src="js/swfobject.js"></script>
    <script>
      var flashvars = {
      var params = {
       menu: "false",
       scale: "noScale",
       allowFullscreen: "true",
       allowScriptAccess: "always",
       bgcolor: "",
       wmode: "direct" // can cause issues with FP settings & webcam
      var attributes = {
       id:"TestFlex4Project"
      swfobject.embedSWF(
       "TestFlex4Project.swf",
       "altContent", "100%", "100%", "10.0.0",
       "expressInstall.swf",
       flashvars, params, attributes);
       function Message(){
       alert("Message!")
    function SetHTML(){
       //Start Alternative 1
       NewHTML.innerHTML = "Dynamically changed text"
       NewHTML.style.cursor = "pointer"
       NewHTML.style.color = "#ff0000"
       NewHTML.onclick = function(){
        Message();
       NewHTML.onmouseover = function(){
        this.style.fontWeight = 700;
       //End Alternative 1
       //Start Alternative 2
       var HTMLStr='<p style="cursor:pointer; fontWeight:300; color:#ff0000" onClick = "Message()" onMouseOver = "this.style.fontWeight=700">Dynamically changed text</p>'
       NewHTML.outerHTML=HTMLStr
       //End Alternative 2
    </script>
    <style>
      html, body { height:100%; overflow:hidden; }
      body { margin:0; }
    </style>
    </head>
    <body id="Body">
    <p id="NewHTML">This text will change when you click the button!</p>
    <p style="cursor:pointer; fontWeight:'300'; color:#ff0000" onClick = "Message()" onmouseover = "this.style.fontWeight='700'">Default text</p>
    <div id="altContent">
      <p><a href="http://www.adobe.com/go/getflashplayer">
       <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
       </a>
      </p>
    </div>
    </body>
    </html>
    The code for the Airapplication is like this
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx"
    width="800"
    height="566">
    <mx:HTML id="HTMLObject" location="TestFlex4Project.html" width="100%" height="100%"/>
    </s:WindowedApplication>

    Hi,
    I'm trying to embedd a HTML page to a Air application.
    The HTML page has a simple Flex application (TestFlex4Project.mxml) with a button that changes one HTML element on the web page (TestFlex4Project.html) using ExternalInterface. If I run the Flex application using the HTML page it works just fine and when I click the button the HTML ellement is changed and the mouseover- and onclick events works. If I embedd the HTML page in an Air application the mouseover- and onclick events does not work any more. Why?
    If I use Aternative 1 in the HTML code (instead of using Aternative 2 in the HTML code where I'm editing the innerHTML property) the mouseover- and onclick events works when the HTML page is embeded in Air. Why?
    Even more strange is that if I remove the line [<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />] from the HTML page the Flex application dose not show at all when embedded in Air. Why?
    You can try the online sample here and the files here.
    The application looks like this:
    And if you click the button and click the upper most text you will recieve a message like this:
    But not when I use innerHTML and embedd the HTML page in Air. Can anyone please help me with this issue. Is it a bug or what am I doing wrong? I need to change some HTML elements using innerHTML.
    Thanks!!
    The code for TestFlex4Project.mxml is like this
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
    width="100%"
    height="100%">
    <fx:Script>
      <![CDATA[
       function buttonClickHandler(event:Event):void{
       ExternalInterface.call(" function(){SetHTML();}")
      ]]>
    </fx:Script>
    <s:HGroup verticalAlign="middle">
      <s:Button label="Edit HTML Element" click="buttonClickHandler(event)"/> 
    </s:HGroup>
    </s:Application>
    The code for TestFlex4Project.html is like this
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8"/>
    <title>Test Flex 4 Project</title>
    <meta name="description" content="" />
    <script src="js/swfobject.js"></script>
    <script>
      var flashvars = {
      var params = {
       menu: "false",
       scale: "noScale",
       allowFullscreen: "true",
       allowScriptAccess: "always",
       bgcolor: "",
       wmode: "direct" // can cause issues with FP settings & webcam
      var attributes = {
       id:"TestFlex4Project"
      swfobject.embedSWF(
       "TestFlex4Project.swf",
       "altContent", "100%", "100%", "10.0.0",
       "expressInstall.swf",
       flashvars, params, attributes);
       function Message(){
       alert("Message!")
    function SetHTML(){
       //Start Alternative 1
       NewHTML.innerHTML = "Dynamically changed text"
       NewHTML.style.cursor = "pointer"
       NewHTML.style.color = "#ff0000"
       NewHTML.onclick = function(){
        Message();
       NewHTML.onmouseover = function(){
        this.style.fontWeight = 700;
       //End Alternative 1
       //Start Alternative 2
       var HTMLStr='<p style="cursor:pointer; fontWeight:300; color:#ff0000" onClick = "Message()" onMouseOver = "this.style.fontWeight=700">Dynamically changed text</p>'
       NewHTML.outerHTML=HTMLStr
       //End Alternative 2
    </script>
    <style>
      html, body { height:100%; overflow:hidden; }
      body { margin:0; }
    </style>
    </head>
    <body id="Body">
    <p id="NewHTML">This text will change when you click the button!</p>
    <p style="cursor:pointer; fontWeight:'300'; color:#ff0000" onClick = "Message()" onmouseover = "this.style.fontWeight='700'">Default text</p>
    <div id="altContent">
      <p><a href="http://www.adobe.com/go/getflashplayer">
       <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
       </a>
      </p>
    </div>
    </body>
    </html>
    The code for the Airapplication is like this
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx"
    width="800"
    height="566">
    <mx:HTML id="HTMLObject" location="TestFlex4Project.html" width="100%" height="100%"/>
    </s:WindowedApplication>

Maybe you are looking for