PF_SPRINTF (out_data-> return_msg, "Hello test")

Hi, I'm developing a plugin for after effect CS6 in Microsoft visual studio 2008. Currently I am using the PF_SPRINTF (out_data-> return_msg, "Hello test") works, but when I try to insert an object or a value for the string field (where I placed the string "hello test") I get a compilation error.

I looked in the web solution convert int variables or the value of the object to a string and always with the same error.

The reason why I'm doing is getting a 'message' inside after the effect which will show you the values of specific objects within my plugin (inside the AE environment).

Thank you

Dudy.

put "* in_data" as second argument to the PF_SPRINTF shouldn't (and

) does not work.

PF_SPRINTF expects the same arguments as the sprintf() function

http://www.cplusplus.com/reference/cstdio/sprintf/

Tags: After Effects

Similar Questions

  • entrypoint, development of plug-in not found

    Hello

    I just started to develop plug-ins for effects due to a big project in my company, and I encounter a problem when I try to use the plugin I developed Visual Studio 2012 whith and the SDK software AE CS6. Æ cannot find the entry point of the plug-in. Here is the code of my project, if it helps:

    Warbler.cpp

    #include "Warbler.h".

    (static) PF_Err on

    PF_InData * in_data,

    PF_OutData * out_data,.

    PF_ParamDef * params [],.

    PF_LayerDef * output)

    {

    PF_SPRINTF (out_data-> return_msg, "% s,v%d.%d\r%s",

    NAME, MAJOR_VERSION, MINOR_VERSION, DESCRIPTION);

    Return PF_Err_NONE;

    }

    static (PF_Err GlobalSetup)

    PF_InData * in_data,

    PF_OutData * out_data,.

    PF_ParamDef * params [],.

    PF_LayerDef * output)

    {

    PF_Err err = PF_Err_NONE;

    We have AE which version we are:

    out_data-> my_version =

    PF_VERSION (MAJOR_VERSION,

    MINOR_VERSION,

    BUG_VERSION,

    STAGE_VERSION,

    BUILD_VERSION);

    Let's run through the extent of the output,

    We must therefore specify this flag...

    out_data-> out_flags | =

    PF_OutFlag_USE_OUTPUT_EXTENT;

    return err;

    }

    static (PF_Err ParamsSetup)

    PF_InData * in_data,

    PF_OutData * out_data,.

    PF_ParamDef * params [],.

    PF_LayerDef * output)

    {

    PF_Err err = PF_Err_NONE;

    Def PF_ParamDef;

    Always empty the PF_ParamDef

    before adding your settings.

    AEFX_CLR_STRUCT (def);

    Create the LAYER setting...

    def.param_type = PF_Param_LAYER;

    PF_STRCPY (def.name, "layer of moving:" "");

    def.u.LD.dephault = PF_LayerDefault_NONE;

    If (err = PF_ADD_PARAM (in_data,-1 and def))

    return err;

    Create the ANGLE setting...

    def.param_type = PF_Param_ANGLE;

    PF_STRCPY (def.name, 'Angle of displacement');

    be. Flags = 0;

    def.u.FD.value_str [0] =.

    def.u.FD.value_desc [0] = '\0 ';

    def.u.FD.Value = def.u.fd.dephault = 0;

    def.u.FD.valid_min =

    def.u.FD.slider_min = ANGLE_MIN;

    def.u.FD.valid_max =

    def.u.FD.slider_max = ANGLE_MAX;

    def.u.FD.Precision = 0;

    def.u.FD.display_flags = 0;

    If (err = PF_ADD_PARAM (in_data,-1 and def))

    return err;

    Create the MOVING CURSOR...

    def.param_type = PF_Param_FIX_SLIDER;

    PF_STRCPY (def.name, 'The displacement amount');

    be. Flags = 0;

    def.u.FD.value_str [0] =.

    def.u.FD.value_desc [0] = '\0 ';

    def.u.FD.Value =

    def.u.FD.dephault = SHIFT_BLEND_DFLT;

    def.u.FD.valid_min =

    def.u.FD.slider_min = SHIFT_BLEND_MIN;

    def.u.FD.valid_max =

    def.u.FD.slider_max = SHIFT_BLEND_MAX;

    def.u.FD.Precision = 1;

    def.u.FD.display_flags = 1;          show as percentage

    If (err = PF_ADD_PARAM (in_data,-1 and def))

    return err;

    GAMMA slider...

    AEFX_CLR_STRUCT (def);

    def.param_type = PF_Param_FIX_SLIDER;

    PF_STRCPY (def.name, "Source Gamma");

    def.u.FD.value_str [0] =.

    def.u.FD.value_desc [0] = '\0 ';

    def.u.FD.Value =

    def.u.FD.dephault = BIAS_DFLT;

    def.u.FD.valid_min =

    def.u.FD.slider_min = BIAS_MIN;

    def.u.FD.slider_max = BIAS_MAX;

    def.u.FD.valid_max = BIAS_BIG_MAX;

    def.u.FD.Precision = 1;

    def.u.FD.display_flags = 0;

    If (err = PF_ADD_PARAM (in_data,-1 and def))

    return err;

    Create the SLIDER FIXED parameter...

    def.param_type = PF_Param_FIX_SLIDER;

    PF_STRCPY (def.name, "Blend with the Original");

    def. Flags = 0;

    def.u.FD.value_str [0] =.

    def.u.FD.value_desc [0] = '\0 ';

    def.u.FD.Value =

    def.u.FD.dephault = SHIFT_BLEND_DFLT;

    def.u.FD.valid_min =

    def.u.FD.slider_min = SHIFT_BLEND_MIN;

    def.u.FD.valid_max =

    def.u.FD.slider_max = SHIFT_BLEND_MAX;

    def.u.FD.Precision = 1;

    def.u.FD.display_flags = 1;          show as percentage

    If (err = PF_ADD_PARAM (in_data,-1 and def))

    return err;

    Set the number of parameters...

    out_data-> num_params = SHIFT_NUM_PARAMS;

    return err;

    }

    static (PF_Err GlobalSetdown)

    PF_InData * in_data,

    PF_OutData * out_data,.

    PF_ParamDef * params [],.

    PF_LayerDef * output)

    {

    Return PF_Err_NONE;

    }

    PF_Err Render (static)

    PF_InData * in_data,

    PF_OutData * out_data,.

    PF_ParamDef * params [],.

    PF_LayerDef * output)

    {

    PF_Err err = PF_Err_NONE;

    return err;

    }

    (EntryPointFunc) PF_Err

    PF_Cmd                                        cmd,

    PF_InData * in_data,

    PF_OutData * out_data,.

    PF_ParamDef * params [],.

    PF_LayerDef * output,

    void                                                  *extra )

    {

    PF_Err err = PF_Err_NONE;

    switch (cmd) {}

    case PF_Cmd_ABOUT:

    ERR = About (in_data, out_data, params, output);

    break;

    case PF_Cmd_GLOBAL_SETUP:

    ERR = GlobalSetup (out_data, params, in_data, output);

    break;

    case PF_Cmd_PARAMS_SETUP:

    ERR = ParamsSetup (out_data, params, in_data, output);

    break;

    case PF_Cmd_GLOBAL_SETDOWN:

    ERR = GlobalSetdown (out_data, params, in_data, output);

    break;

    case PF_Cmd_RENDER:

    ERR = Render (in_data, out_data, params, output);

    break;

    by default:

    break;

    }

    return err;

    }

    Warbler.h

    INCLUDES

    #include "AE_EffectCB.h".

    #include "AE_Macros.h".

    #include "entry.h".

    SETS

    #define NAME 'Warbler '.

    MAJOR_VERSION #define 1

    #define MINOR_VERSION 0

    #define BUG_VERSION 0

    #define STAGE_VERSION PF_Stage_RELEASE

    BUILD_VERSION #define 1

    #define LONG2FIX (x) (((long) x) < < 16)

    #define LUMA (p).

    (double) (p > red + 2 * p-> green + p-> blue) / (255 * 4)

    #define bias (a, b).

    PF_POW ((a), PF_LOG (B) / PF_LOG (0.5))

    #define ANGLE_MIN (-180 L < < 16)

    #define ANGLE_MAX (180L < < 16)

    #define BIAS_MIN (655) / / 0,01 fixed

    #define BIAS_MAX (1 L < < 16)

    #define BIAS_BIG_MAX (10L < < 16)

    #define BIAS_DFLT (6553 * 5) / / about 0.5 fixed

    #define SHIFT_BLEND_MIN 0L

    #define SHIFT_BLEND_MAX (1 L < < 16)

    #define SHIFT_BLEND_DFLT 0L

    SETTING CONSTANTS

    Enum {}

    BASE = 0.

    DISP_LAYER,

    DISP_ANGLE,

    SHIFT_DISPLACE_AMT,

    SHIFT_GAMMA,

    SHIFT_BLEND,

    SHIFT_NUM_PARAMS

    };

    #define DESCRIPTION.

    "Displacement mapping based on luminance."

    (EntryPointFunc) PF_Err

    PF_Cmd                                        cmd,

    PF_InData * in_data,

    PF_OutData * out_data,.

    PF_ParamDef * params [],.

    PF_LayerDef * output,

    void                                                  *extra );

    WarblerPiPL.r

    #include "AEConfig.h".

    #include "AE_EffectVers.h".

    #ifndef AE_OS_WIN

    #include < AE_General.r >

    #endif

    resource "PiPL" (16000) {}

    {/ * Properties of table: 12 items * /}

    /* [1] */

    {Type}

    AEEffect

    },

    /* [2] */

    {Name}

    "Warbler".

    },

    /* [3] */

    {Category

    "Examples of Plug-ins.

    },

    #ifdef AE_OS_WIN

    #ifdef AE_PROC_INTELx64

    CodeWin64X86 {'EntryPointFunc'},

    #else

    CodeWin32X86 {'EntryPointFunc'},

    #endif

    #else

    #ifdef AE_OS_MAC

    CodeMachOPowerPC {'EntryPointFunc'},

    CodeMacIntel32 {'EntryPointFunc'},

    CodeMacIntel64 {'EntryPointFunc'},

    #endif

    #endif

    /* [6] */

    {AE_PiPL_Version}

    2,

    0

    },

    /* [7] */

    {AE_Effect_Spec_Version}

    PF_PLUG_IN_VERSION,

    PF_PLUG_IN_SUBVERS

    },

    /* [8] */

    {AE_Effect_Version}

    524289 / * 1.0 * /.

    },

    /* [9] */

    {AE_Effect_Info_Flags}

    0

    },

    /* [10] */

    {AE_Effect_Global_OutFlags}

    50332160 0 x 02000000

    },

    {AE_Effect_Global_OutFlags_2}

    0x00000000

    },

    /* [11] */

    {AE_Effect_Match_Name}

    "ADBE Warbler.

    },

    /* [12] */

    {AE_Reserved_Info}

    0

    }

    }

    };

    This plug-in is done by following the tutorial by Kas Thomas.

    http://www.MacTech.com/articles/MacTech/vol.15/15.09/AfterEffectsPlugins/index.html

    Any idea where can be the problem? I tried to find some doc on the PiPLs but so far, nothing really interesting...

    you have young fough and breavely.

    the error lies in this line:

    Set the number of parameters...

    out_data-> num_params = SHIFT_NUM_PARAMS;

    shift_num_params is the latest entry in a block enum, the names of your effect settings in the order in which they are defined.

    Let me explain:

    each param has two digital ID attached to it.

    the first is in the order of definition. Use this enumeration to access your params.

    in this enumeration, 0 is never a param, but always of the input layer.

    This is why your enumeration begin with 'BASE = 0' and apply 1 and until your params.

    the second, is the ID of the stream. What is this good for?

    It's for when you change the order of your settings or add a bit at the beginning or middle on version 2 ro 3 of your plug-ins, and you don't want to ruin the plans created with previous versions. It's how AE know that everywhere where this stack a param is now, he should keep the respective stream from somewhere else in the stack.

    example:

    you add a cursor as your 3rd param, and you give it an ID of 7.

    to access its data, you call your param 3 effects and everything is fine.

    now, you want a version of nwere you effect, where the cursor is now placed 5th.

    It is param_setup definition that you keep this is ID 7.

    to access the cursor, you call your 5th param and al is good, but AE finds out, that belogs to him in the file data is that with ID 7. 3 and 5.

    TADA!

    looking at your code, I see that you implement any transfer ID.

    only God and you know where you got this code from. (probably this tutorial)

    Take a look at the other samples. It is MUCH more elegant nowdays.

    But back to our enumerations.

    generally, the user enumerationa interface and the enmurations ID are the same.

    Let's say you have 2 slider and a param point on your effect. If the enumarations should look like this:

    enumeration of the UI (the order in which the params are defined)

    Enum {}

    EFFECT_INPUT = 0, / / the input layer is always 0.

    MY_EFFECT_SLIDER_1,

    MY_EFFECT_SLIDER_2,

    MY_EFFECT_POINT,

    MY_EFFECT_NUM_PARAMS

    }

    ID for when the project is saved

    Enum {}

    MY_EFFECT_SLIDER_1_DISK_ID = 1, / / I do not know why the "disk_id" ending, you can put whatever you want here.

    MY_EFFECT_SLIDER_2_DISK_ID, / / this is just how you can find it in most of the samples.

    MY_EFFECT_POINT_DISK_ID / / it's just to distinguish it from the enumeration of the user interface.

    }

    so now you can set your params in param_setup:

    addSlider (some definitions, MY_EFFECT_SLIDER_1_DISK_ID);

    addSlider (some definitions, MY_EFFECT_SLIDER_2_DISK_ID);

    addPoint (some definitions, MY_EFFECT_POINT_DISK_ID);

    out_data-> num_params = MY_EFFECT_NUM_PARAMS;

    If ever, you change the order of the definition, KEEP the ID ENUMERATION as IT WAS IN THE PAST!

    If MY_EFFECT_SLIDER_2_DISK_ID has the value of 74 when the project was registered with the old version and the same cursor, wherever he may be in the user interface will keep the id value for 74, then treasure it's data.

    Be!

  • Drawbot example does not work on AE 2014

    Hi all

    I have a rather strange question when executing the example of the CCU.

    Whenever I use the SDK of AE 2014, all right.

    Whenever I use the 2015 AE SDK example works fine for AE/2015.3 2015 but hangs on AE 2014.

    Dig a little in the code that I saw that the problem occurs when drawbot suite is acquired.

    In the function "AEFX_AcquireDrawbotSuites" in the AEFX_SuiteHelper.c, the third acquisition fails with the following error: PF_Err_BAD_CALLBACK_PARAM

    Any ideas why that may happen?

    (AEFX_AcquireDrawbotSuites) PF_ErrPF_InData* in_data,/ * > > * /.
    PF_OutData* out_data,/ * > > * /.
    DRAWBOT_Suites* suitesP)/ < * < * /.

    {

    PF_ErrERR = PF_Err_NONE;
    If (suitesP == NULL) {}
    out_data-> out_flags | = PF_OutFlag_DISPLAY_ERROR_MESSAGE;

    PF_SPRINTF (out_data-> return_msg, "more NULL pointer passed to AEFX_AcquireDrawbotSuites");

    ERR = PF_Err_UNRECOGNIZED_PARAM_TYPE;
    }

    If (! err) {}
    ERR = AEFX_AcquireSuite (in_data, out_data, kDRAWBOT_DrawSuite, kDRAWBOT_DrawSuite_VersionCurrent, NULL, (void *) & suitesP-> drawbot_suiteP);
    }
    If (! err) {}
    ERR = AEFX_AcquireSuite (in_data, out_data, kDRAWBOT_SupplierSuite, kDRAWBOT_SupplierSuite_VersionCurrent, NULL, (void *) & suitesP-> supplier_suiteP);
    }
    If (! err) {}
    ERR = AEFX_AcquireSuite (in_data, out_data, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_VersionCurrent, NULL, (void *) & suitesP-> surface_suiteP);
    }
    If (! err) {}
    ERR = AEFX_AcquireSuite (in_data, out_data, kDRAWBOT_PathSuite, kDRAWBOT_PathSuite_VersionCurrent, NULL, (void *) & suitesP-> path_suiteP);
    }
    return err;

    }

    This is because the kDRAWBOT_SurfaceSuite_VersionCurrent macro points to a version of the suite of surface which is not supported in AE2014. I had this problem and found the best way to get around it is to edit the AEFX_SuiteHelper.c file directly, replacing the kDRAWBOT_SurfaceSuite_Version1, then:

    ERR = AEFX_AcquireSuite (in_data, out_data, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_Version1, NULL, (void *) & suitesP-> surface_suiteP);

    You can change the place DrawbotSuite.h, by changing the macro kDRAWBOT_SurfaceSuite_VersionCurrent to kDRAWBOT_SurfaceSuite_Version1 and leaving AEFX_SuiteHelper.c as it was.

  • With the help of std::vector in sequence_data

    Hello world!

    To start this new year, I have a delicate question:

    _What is the way to manage the memory of sequence_data when it contains std::vector?

    My script looks like this:

    struct SeqData

    {

    std::vector < < PARTICLE > > std::vector STORE_P;

    std::vector < A_Boolean > SET_B;

    };

    And here is my code for SequenceSetup:

    If (in_data-> sequence_data is NULL)

    {

    out_data-> sequence_data = PF_NEW_HANDLE (sizeof (SeqData));

    If (out_data-> sequence_data)

    {

    out_data-> flat_sdata_size = sizeof (SeqData);

    SeqData * dataP = reinterpret_cast < SeqData * > (DH (out_data-> sequence_data));

    AEFX_CLR_STRUCT(*dataP);

    }

    on the other

    {

    PF_STRCPY (out_data-> return_msg, "Internal error");

    out_data-> out_flags | = PF_OutFlag_DISPLAY_ERROR_MESSAGE;

    ERR = PF_Err_INTERNAL_STRUCT_DAMAGED;

    }

    }

    on the other

    {

    If (PF_GET_HANDLE_SIZE (in_data-> sequence_data)! = sizeof (SeqData))

    {

    PF_RESIZE_HANDLE (sizeof (SeqData), & in_data-> sequence_data);

    }

    }

    I have in my rendering function, push_back() or resize() my sequence_data vectors...

    And finally SequenceSetDown, where I can't remove the handle:

    If (in_data-> sequence_data) {}

    SeqData * dataP = reinterpret_cast < SeqData * > (in_data-> sequence_data);     Here I have reset my vectors, otherwise I get "bad digital conversion" (negative, capacity...)

    AEFX_CLR_STRUCT(*dataP);                                                                 //

    If (PF_GET_HANDLE_SIZE (in_data-> sequence_data)! = sizeof (SeqData)) //the size is 0

    {

    PF_RESIZE_HANDLE (sizeof (SeqData), & in_data-> sequence_data);

    }

    PF_DISPOSE_HANDLE (in_data-> sequence_data); I get a crash here!

    in_data-> sequence_data is out_data-> sequence_data = NULL;.

    }

    Any idea?

    See you soon,.

    François

    This message was edited by: poison ivy

    I use the STL vector dynamics and cards, and all that in my data sequence in several plugins without problems.

    What I do is to store the actual sequence data a pointer to my structure/class custom with all containers. During the installation, I create a new instance of this class and assign it to my Member of seq data pointer. The hollow, I delete this pointer.

    Just to make sure that you correctly serialize / are deserializing them on flattening/unflattening sequence data, which means that you have to write conversion functions to put your items in a linear block memory independent of any other pointers / other locations of memory (flatten) and rebuild your containers (in unflatten).

  • Please help router and vpn client

    Hi all

    I want to make a vpn between my PC (with version 4.8.02.0010 of the VPN Client) and a remote router (Cisco 2811) version of the software IOS 12.4 (9) T7 and the following configuration

    AAA new-model

    !

    local VPNCLIENT from AAA authentication login.

    local AAA VPNGROUP authorization network

    Hello test user name password

    crypto ISAKMP policy 3

    BA 3des

    preshared authentication

    Group 2

    !

    ISAKMP crypto client configuration group 3000client

    key cisco123

    DNS 62.42.230.24

    domain cisco.com

    pool ippool

    !

    Crypto ipsec transform-set esp-3des esp-sha-hmac RIGHT

    !

    Crypto-map dynamic dynmap 10

    transformation-RIGHT game

    !

    map clientmap client authentication list of crypto list

    crypto isakmp authorization list grupo clientmap map

    client configuration address map clientmap crypto answer

    10 ipsec-isakmp crypto map clientmap Dynamics dynmap

    !

    interface FastEthernet0/0

    DHCP IP address

    NAT outside IP

    IP virtual-reassembly

    load-interval 30

    automatic duplex

    automatic speed

    clientmap card crypto

    !

    interface FastEthernet0/0/0

    !

    interface FastEthernet0/0/1

    !

    interface FastEthernet0/0/2

    !

    interface FastEthernet0/0/3

    !

    interface Vlan1

    192.168.4.1 IP address 255.255.255.0

    IP nat inside

    IP virtual-reassembly

    load-interval 30

    !

    IP local pool ippool 192.168.4.100 192.168.4.200

    no ip classless

    IP route 0.0.0.0 0.0.0.0 62.43.195.100

    !

    IP http server

    local IP http authentication

    no ip http secure server

    IP http timeout policy inactive 600 life 86400 request 10000

    overload of IP nat inside source list 102 interface FastEthernet0/0

    access-list 102 permit ip 192.168.4.0 0.0.0.255 any

    !

    Line con 0

    line to 0

    line vty 0 4

    privilege level 15

    transport telnet entry

    line vty 5 15

    privilege level 15

    transport telnet entry

    !

    When I connect to the public IP address of the router, that everything is fine and status is connected. But I do not have connectivity to the internet and I can only ping 192.168.4.1, but no other IP address of this beach.

    I would be grateful any sort of kelp.

    Thank you

    You must make sure that your internal traffic goes to the VPN client is NOT be NATT would be.

    You need to re - write acl 102 to something like: -.

    access-list 102 deny ip 192.168.4.0 0.0.0.255 192.168.4.0 0.0.0.255

    access-list 102 permit ip 192.168.4.0 0.0.0.255 any

    HTH >

  • Weird problem with enums

    Hi all

    I have a weird problem with the implementation of controls and access their values. It seems that EI is pulling the wrong values for me.


    As follows:

    I have

    enum { }

    SKELETON_INPUT = 0,

    SKELETON_GAIN,

    SKELETON_COLOR,

    SKELETON_DELAY,

    SKELETON_POSITION_X,

    SKELETON_POSITION_Y,

    SKELETON_NUM_PARAMS

    };

    and

    enum { }

    GAIN_DISK_ID = 1,

    COLOR_DISK_ID,

    DELAY_DISK_ID,

    POSITION_X_DISK_ID,

    POSITION_Y_DISK_ID,

    };

    And I create my fine controls like sliders and they appear

    However, in my method of rendering, the values that AE comes out is wrong.

    Suites. ANSICallbacksSuite1 ()->sprintf(out_data->return_msg, "X = %1.2f Y =%1.2f ',)

    params [SKELETON_POSITION_X]->u. fs_d. value,

    params [SKELETON_POSITION_Y]->u. fs_d. value );


    Instead of getting the values of Position X and Y in the effect control, I'm SKELETON_GAIN for X and NAN values for Y.


    Is that all that I forgot to put? AE not to complaint of the any mismatch of parameter.

    DOH

    This is one of those who come to you once you have posted.

    So the order of creation is too important.

    Initially, I wanted to put my POSITION_X controls and Y in the first place and thought he would keep the enum attributed honest.

    But apparently I need my order of creation is the same as the enum values.

  • With the help of VBA - check to see if Acrobat Pro is open on the computer of the users

    Hi all. I have an access request that generates a lot of single page PDF reports in a folder on the user's computer, then when it's over, it combines all files in a single pdf file on the desktop of users. If the user has left open Acrobat Pro before it begins to run reports, when it starts to try to combine the files, he will receive an error message.

    I would check if Adobe Acrobat Pro is open from the beginning of the routine, so that the user doesn't have to spend as much time regenerating reports yet. I was not able to find the VBA code that will do this. Can anyone help?

    Thank you

    David

    Hello test screen name. I do catch the error and generate a friendly error message to ask the user to close Adobe Acrobat. The problem is, according to the criteria they choose for the report, it might take 5-10 minutes before you still see this error because of the hundreds of individual reports pdf it takes to generate. It is not until my code is ready to combine these pdf files they see the message. So, it is not really an error of execution, so to speak.

    But, I found the answer to my question and I wanted to share with everyone. The answers are found here:

    API: Whether an application is running

    API: Get the class name of a running application

    What I did, is to paste all of the code in these 2 pages in a new module of access. Then I made sure that Adobe Acrobat is loaded on my machine. I ran the fEnumWindows() void and it printed all my open programs class names. I got the class name for Adobe Acrobat, which is AcrobatSDIWindow. Then, I modified the select case statement in the following function, to include the Acrobat of the string and the name of the class:

    [code]

    Function fIsAppRunning (ByVal strAppName As String _

    Optional FActivate As Boolean) As Boolean

    Dim lngH As Long, strClassName As String

    Dim GNLX As Long, lngTmp As Long

    Const WM_USER = 1024

    On Local Error GoTo fIsAppRunning_Err

    fIsAppRunning = False

    Select Case LCase$ (strAppName)

    Case "excel": strClassName = "XLMain".

    Case "word": strClassName = "OpusApp".

    'Access' box: strClassName = 'Omain '.

    Case "powerpoint95": strClassName = "PP7FrameClass.

    Case "powerpoint97": strClassName = "PP97FrameClass.

    Case 'Notepad': strClassName = "Notepad".

    Case 'acrobat': strClassName = "AcrobatSDIWindow."

    Case "wordpad": strClassName = "WordPadClass."

    Case Else: strClassName = vbNullString

    Select end

    If strClassName = "" then

    lngH = apiFindWindow (vbNullString, strAppName)

    On the other

    lngH = apiFindWindow (strClassName, vbNullString)

    End If

    If lngH <> 0 Then

    apiSendMessage lngH WM_USER + 18, 0, 0

    GNLX = apiIsIconic (lngH)

    If GNLX <> 0 Then

    lngTmp = apiShowWindow (lngH, SW_SHOWNORMAL)

    End If

    If fActivate then

    lngTmp = apiSetForegroundWindow (lngH)

    End If

    fIsAppRunning = True

    End If

    fIsAppRunning_Exit:

    Exit Function

    fIsAppRunning_Err:

    fIsAppRunning = False

    CV fIsAppRunning_Exit

    End Function

    [/ code]

    Now I can just send 'acrobat' this function to see if the application is open.

    Sincerely,

    David

  • Window of the dialog in Premiere Pro

    Could you please advice how to create on Dialog (custom dialog) in Adobe Premiere Pro as all dialog in After Effects. I searched a lot but can't find the answer. The created dialog box through PF_Cmd_DO_DIALOG is visible in After Effects, but is not visible in Premiere Pro.

    Thank you.

    Hi gevorgka,

    Premiere Pro displays a message box when an effect returns a string in out_data-> return_msg, which is the way the audit sample displays a dialog in response to PF_Cmd_DO_DIALOG.  You will need to set up a specific dialogue of the OS by using the standard API outside of the AE API.

    Kind regards

    Zac

  • Determinations Server (Java) - creates unmanaged son

    Hello

    Test server 10.2 determinations in an application with a high level of Security Manager server and hit the following exceptions. It appears that this class (InterviewService10_2) is spawning of unmanaged threads, which is a somewhat suspicious behavior in JEE, later versions especially when there are services in support of the execution of the work. Yet to find a work around that for this locked down environment, advice?


    20:42:39, 177 com.oracle.util.plugins.PluginRegistry [1136341612@qtp-1638726193-2] ERROR - Failed to instantiate a class factory instance plugin 'com.oracle.determinations.server.services.interview.v10_2.InterviewService10_2 '. Reason: null
    com.oracle.util.reflection.ReflectionWrapperException
    ...
    Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
    ...
    to com.oracle.determinations.server.services.interview.v10_2.InterviewService10_2. < init > (InterviewService10_2.java:98)
    at com.oracle.determinations.server.services.interview.v10_2.InterviewService10_2.getInstance(InterviewService10_2.java:114)

    Let's take a look, but the message could be a fake. Just to double check, it this determinations Web or Server 10.1 determinations? It's just that your context (owd - 10.1) would involve determinations not determinations Server Web. Whatever it is, the creation of unmanaged thread is due to have one hotswapping turned on, so if you turn off this feature the threads will not be created.

    Yes, we recommend that you bounce the scope, rather than trying to recycling.

  • cunning as query clause

    Hello
    Test table)
    integer ID,
    col1 varchar2 (50)
    )
    data in the table:
    ID col1
    1 ab, abc
    2 abc
    3 cd

    How can I recover the data table that contains string "ab" in col1. Here, 'abc' is very good. the values are stored with demiliter decimal. order of the values is not guaranteed as ab, ab or abc, abc.
    from the example above, I would like to see documents with iid 2.3 in the output. I thought about it using like clause. found no medium.

    Thanks for the help.

    Another solution

    var p varchar2(10);
    exec :p:='ab';
    WITH TEST AS
         (SELECT 1 ID, 'ab,abc' col1
            FROM DUAL
          UNION ALL
          SELECT 2, 'abc'
            FROM DUAL
          UNION ALL
          SELECT 3, 'cd'
            FROM DUAL)
    SELECT ID, col1
      FROM test
    WHERE ','|| col1 ||',' not like  '%,'||:p||',%';
    
    SQL> var p varchar2(10);
    SQL> exec :p:='ab';
    
    Procédure PL/SQL terminée avec succès.
    
    SQL> WITH TEST AS
      2       (SELECT 1 ID, 'ab,abc' col1
      3          FROM DUAL
      4        UNION ALL
      5        SELECT 2, 'abc'
      6          FROM DUAL
      7        UNION ALL
      8        SELECT 3, 'cd'
      9          FROM DUAL)
     10  SELECT ID, col1
     11    FROM test
     12  WHERE ','|| col1 ||',' not like  '%,'||:p||',%';
    
            ID COL1
    ---------- ------
             2 abc
             3 cd
    
    SQL> 
    
    SQL> var p varchar2(10);
    SQL> exec :p:='ab';
    
    Procédure PL/SQL terminée avec succès.
    
    SQL> WITH TEST AS
      2       (SELECT 1 ID, 'ab,abc' col1
      3          FROM DUAL
      4        UNION ALL
      5        SELECT 2, 'abc'
      6          FROM DUAL
      7        UNION ALL
      8        SELECT 3, 'cd'
      9          FROM DUAL)
     10  SELECT ID, col1
     11    FROM test
     12  WHERE INSTR (','|| col1 ||',', ','||:p||',') = 0;
    
            ID COL1
    ---------- ------
             2 abc
             3 cd
    
    SQL> 
    
  • February 25, 2015, after agreeing the Firefox Hello does not work dwhelper. All proposed tests without success.

    I was download Firefox Hello a couple of days. dwhelper no longer works. I tested the extensions. As I only have two, dwhelper and add-on, it was easy to do.

    I use a lot dwhelper. I use online videos from many sources for my physics and astronomy, teaching needs.

    It is a problem with many video sites, not just YouTube.

    I deleted dwhelper and reinstalled. Firefox started and stopped. Rebooted my macbook pro as well.

    Program seems to be working and including window specifying the location to place the download file.

    Hello from Firefox is not a separate download - its share of Firefox itself. There is no direct interaction between your navigation and the morning of Firefox.

    It is more likely that Firefox updated to the latest version, and something in the change means that dwhelper does not work as well. I suggest you ask on the support site of the developer of the extension http://www.downloadhelper.net/documentation.php

    According to support threads this thread, there is also a beta version available that could solve your problem.

    Unfortunately its hard for us using extensions, they are developed by third parties.

  • Hello. Recently, I buy the suite adobe for students. I also paid for two months. But in my profile it says I have a free plan for testing applications. And I can't get the entire application. How can I solve this?

    Hello. Recently, I buy the suite adobe for students. I also paid for two months. But in my profile it says I have a free plan for testing applications. And I can't get the entire application. How can I solve this?

    Your subscription to cloud shows correctly on your account page?

    https://www.adobe.com/account.html for subscriptions on your page from Adobe

    If you have more than one email, you will be sure that you use the right Adobe ID?

    .

    If Yes

    Sign out of your account of cloud... Restart your computer... Connect to your paid account of cloud

    -Connect using http://helpx.adobe.com/x-productkb/policy-pricing/account-password-sign-faq.html

    -http://helpx.adobe.com/creative-cloud/kb/sign-in-out-creative-cloud-desktop-app.html

    -http://helpx.adobe.com/x-productkb/policy-pricing/activation-network-issues.html

    -http://helpx.adobe.com/creative-suite/kb/trial--1-launch.html

    -ID help https://helpx.adobe.com/contact.html?step=ZNA_id-signing_stillNeedHelp

    -http://helpx.adobe.com/creative-cloud/kb/license-this-software.html

    .

    If no

    This is an open forum, Adobe support... you need Adobe personnel to help

    Adobe contact information - http://helpx.adobe.com/contact.html

    Chat/phone: Mon - Fri 05:00-19:00 (US Pacific Time)<=== note="" days="" and="">

    -Select your product and what you need help with

    -Click on the blue box "still need help? Contact us. "

  • Hello, I'm testing cc2015 Adobe Premiere Pro, I use it for my videos, but now it has stopped working. When I start it, it says ´´Premiere Pro could not find any video game capable modules´´

    Hello, I'm testing cc2015 Adobe Premiere Pro, I use it for my videos, but now it has stopped working. When I start it, it says ´´Premiere Pro could not find any video game capable of modules´´ and I don't know what to do, I saw a cople of solutions for mac, but not for windows ;( My PC: Intel core i5-4460 3.2 GHz, Nvidia GTX 760 2 GB, 16 GB of RAM, Windows 8.1 thank you for your attention and please help me!

    Hi PepeF,

    You have AVG installed anti-virus software? If so, disable or uninstall.

    Thank you
    Kevin

  • Hello! I have a package of student! But I can 't download Ps and AI. my arrival of test period.

    Hello! I have a package of student! But I can 't download Ps and AI. my arrival of test period.

    Hi Kristina,

    If you purchased the product, but conclude that launch the applications in trial mode, you can try clicking the gear icon in the desktop CC application > Check For Updates?

    Often, this solves the problem.

    Let us know if this helps!

    -Madison

  • Hello, now that I am back to my annual plan with payment each month creative programs cloud, made the payment came the confirmation, however downloading the programs are always identified as a test version, update this information

    Hello, now that I am back to my annual plan with payment each month creative programs cloud, made the payment came the confirmation, however downloading the programs are always identified as a test version, update this information?

    allow 1 day working pst for your payment to process.

    After this time, if there is still a problem, Troubleshooting FAQ: what should I do if I have a subscription, but my application acts as if I had a trial?

Maybe you are looking for