How to load a plugin from another plugin?
Hi,
I'm trying to load a plugin, which is not located in the plugin-paths of After Effects from another plugin. It seems to load the aex(dll) and execute the main function fine, but afterwards it crashes immediately and I have no idea why.
This is how my pluginLoader-PlugIn looks like:
1. I created a commandHook to be able to trigger the pluginLoad from the Edit Menu
2. for the actual load of the dll I use the following commands:
AEGP_SuiteHandler suites(basic_suite);
std::string dllName = "C:/PATH/TO/plugin.aex";
// defining type and order of the arguments of the entry function
typedef A_Err (*args_type)(SPBasicSuite *pica_basicP, A_long major_versionL, A_long minor_versionL, A_long aegp_plugin_id, AEGP_GlobalRefcon *global_refconP);
args_type pluginEntryMethod = NULL;
// loading the dll(aex) and the entry function
# ifdef _WIN32
HMODULE hDLL = LoadLibrary(dllName.c_str());
if (hDLL != NULL)
pluginEntryMethod = (args_type) GetProcAddress(hDLL, "EntryPointFunc");
else
return err;
# else
void *pLib = ::dlopen(szMyLib, RTLD_LAZY);
if (pLib != NULL) {
pluginEntryMethod = (args_type)::dlsym(pLib, "EntryPointFunc");
else
return err;
# endif
if (pluginEntryMethod != NULL)
// hardcoding the plugin version
A_long mavL = 0L;
A_long mivL = 1L;
AEGP_PluginID plId;
// to get a valid plugin-id I use this command
suites.UtilitySuite3()->AEGP_RegisterWithAEGP(*globalRefcon, "nameOfPlugin", &plId);
// I create copy of the refcon and the suite
AEGP_GlobalRefcon newRefcon(*globalRefcon);
SPBasicSuite newSuite(*basic_suite);
pluginEntryMethod(&newSuite, mavL, mivL, plId, &newRefcon);
# ifdef _WIN32
FreeLibrary(hDLL);
# else
dlclose(pLib);
# endif
If I run After Effects with the debugger, the EntryFunction of the new plugin runs through without errors. But Then it crashes and stops at random positions: sometimes in the IdleHook of the newly loaded Plugin, sometimes in the MenuHook.
Does anyone have an idea, what I am doing wrong?
btw: when I copy the second plugin in the default Afx-Plugin-Folder it loads fine and seems to work correct.
Thanks for your help!
Martin
Okay, unfortunately it had nothing to do with static or dynamic linking of the dependencies.
I was able to boil it down to the following problem but I'm still stuck on how to solve the situation:
The problem has to do with an invalid AEGP_GlobalRefcon of the Plugin I load:
the plugin loader:
// the load of the inner plugin..
AEGP_GlobalRefcon newRefcon; // generating a new refcon
suites.UtilitySuite5()->AEGP_RegisterWithAEGP(newRefcon, pluginName.c_str(), &plId); // gathering a plugin id
pluginEntryMethod(basic_suite, mavL, mivL, plId, &newRefcon) // calling the entry function
the loaded plugin:
A_Err EntryPointFunc(
struct SPBasicSuite *pica_basicP,
A_long major_versionL,
A_long minor_versionL,
AEGP_PluginID aegp_plugin_id,
AEGP_GlobalRefcon *global_refconP)
*global_refconP = (AEGP_GlobalRefcon) new CustomClass(pica_basicP, aegp_plugin_id); // this is where the refcon gets invalid
return err;
To gather a valid plugin id, I register the plugin and assign a new AEGP_GlobalRefcon to it, which is for instance at address 0x0001234abcd (plugin-loader line 3)
then I call the entry function(plugin-loader line 4) and the entry function creates a custom class and stores a pointer to its instance in the global_refconP pointer, which changes the address from 0x0001234abcd to 0x0a010b020c3d4.
The crash happens later, when a hook (eg IdleHook) is called, which tries to reinterpret the refconPV-pointer of the plugin (address 0x0001234abcd) to a CustomClass-instance, because the actual instance is stored at 0x0a010b020c3d4.
I reckon, that I can fix this if I either can change the global refcon of the plugin after the enty function has run or if I can get a valid plugin id before calling the entry function and doing the registration with the new refcon I got returned by the entry function of the loaded plugin.
Does anyone know how to achieve one of these two goals?
Similar Messages
-
How can i import contacts from another AIM account to this new one
If you reference my last ichat question, you will see that I have had serious problems and had to create a new account.
How can I import contacts from another AIM account to this new one??Hi,
Use AIM for Mac and use the Export and Import features.
Other than that it is a question on making sure every Single Buddy has more than just their Screen name in the IChat Address Card so it is added to the Address Book and dragging them back from there
9:08 PM Thursday; February 7, 2008 -
How to refer one view from another view?
Hi,
I have 2 views in my Adobe Flash Builder mobile app. I need to refer the first view in my second view.
How to refer one view from another view? Or how to create a reference to a view wherever needed?I don't need any data from my first view. In a certain flow, I need to make my first view to be invisible.
for eg., My First view is in portrait mode. I change the device to Landscape. In the landscape mode, I want to show a completely different view (second view).
In this case, what happens is, I see my first view in Landscape mode for a second. Then the second view appears. When I change to Landscape mode, only the second view should be seen. I need to make my first view to be completely invisible in the OnOrientationChanging event of
StageOrientationEvent
As stage object and StageOrientationEvent works at application level, I need to know how to refer my first view object in the application level.
private function onOrientationChanging(soe:StageOrientationEvent):void
MyFirstView.Visible = False; ====> don't know how to refer MyFirstView here
Is my question clear now? -
How to access icloud account from another iphone
My iphone fell in the water. I am on vacation and need to access info from my calendar. How can i do it from another iphone device?
Just enter your account details under:
Settings > Mail, Contacts, Calendar
and add your account.
Finished. -
How can i get data from another database SQL Server use database link from
I have a database link from Oracle connect to SQL Server database with user cdit connect default database NorthWind.How can I get data from another database(this database in this SQL Server use this database link)?
hi,
u should see following documentation:
Oracle9i Heterogeneous Connectivity Administrator's Guide
Release 1 (9.0.1)
Part Number A88789_01
in it u just go to chapter no. 4 (using the gateway),,u'll find ur answer there.
regards
umar -
How can i transfer songs from another itunes other than mine
how can i transfer songs from another itunes other than mine
Purchases made under 1 Apple ID are permanently associated with that Apple ID and CANNOT be transferred to another Apple ID. So if you want to keep those songs, you'll need to always have access to your dad's account.
B-rock -
Can someone tell me how I load my music from my itunes account onto my new macbook pro??
can someone tell me how to load my music from my itunes account on my iphone to my new macbook pro?
See Here
iTunes: How to move your music to a new computer -
How to Load the data from excel file(Extension is .CSV) into the temp.table
Hi
How to Load the data from excel file(Extension is .CSV) into the temporary table of oracle in Forms11g.
My Forms Version is - Forms [64 Bit] Version 11.1.2.0.0 (Production)
Kindly Suggest the Solution.
Regards,
SachinHello Sachin,
You can use the following metalink note:How to Read Data from an EXCEL Spreadsheet into a Form Using Webutil Client_OLE2 (Doc ID 813535.1) and modify it a little bit.
Instead of copy values into forms you can save them in your temporary table.
Kind regards,
Alex
If someone's helpful or correct please mark it accordingly. -
How to load the data from .csv file to oracle table???
Hi,
I am using oracle 10g , plsql developer. Can anyone help me in how to load the data from .csv file to oracle table. The table is already created with the required columns. The .csv file is having about 10lakh records. Is it possible to load 10lakh records. can any one please tell me how to proceed.
Thanks in advance981145 wrote:
Can you tell more about sql * loader??? how to know that utility is available for me or not??? I am using oracle 10g database and plsql developer???SQL*Loader is part of the Oracle client. If you have a developer installation you should normally have it on your client.
the command is
sqlldrType it and see if you have it installed.
Have a look also at the FAQ link posted by Marwin.
There are plenty of examples also on the web.
Regards.
Al -
How to load the data from excel file into temprory table in Forms 11g?
Hi
How to Load the data from excel file(Extension is .CSV) into the temporary table of oracle in Forms11g.
My Forms Version is - Forms [64 Bit] Version 11.1.2.0.0 (Production)
Kindly Suggest the Solution.
Regards,
SachinDeclare
v_full_filename varchar2(500);
v_server_path varchar2(2000);
v_separator VARCHAR2(1);
v_filename VARCHAR2(400);
filename VARCHAR2 (100);
v_stop_load varchar2 (2000);
v_rec_error_log varchar2(4000);
v_error_log varchar2(4000);
ctr NUMBER (12);
cols NUMBER (2);
btn number;
RES BOOLEAN;
application ole2.obj_type;
workbooks ole2.obj_type;
workbook ole2.obj_type;
worksheets ole2.obj_type;
worksheet ole2.obj_type;
cell ole2.obj_type;
cellType ole2.OBJ_TYPE;
args ole2.obj_type;
PROCEDURE olearg
IS
args ole2.obj_type;
BEGIN
args := ole2.create_arglist;
ole2.add_arg (args, ctr);
ole2.add_arg (args, cols);
cell := ole2.get_obj_property (worksheet, 'Cells', args);
ole2.destroy_arglist (args);
END;
BEGIN
v_full_filename := client_get_file_name(directory_name => null
,file_name => null
,file_filter => 'Excel files (*.xls)|*.xls|'
||'Excel files (*.xlsx)|*.xlsx|'
,message => 'Choose Excel file'
,dialog_type => null
,select_file => null
If v_full_filename is not null Then
v_separator := WEBUTIL_CLIENTINFO.Get_file_Separator ;
v_filename := v_separator||v_full_filename ;
:LOAD_FILE_NAME := substr(v_filename,instr(v_filename,v_separator,-1) + 1);
RES := Webutil_File_Transfer.Client_To_AS(v_full_filename,"server_path"||substr(v_filename,instr(v_filename,v_separator,-1) + 1));
--Begin load data from EXCEL
BEGIN
filename := v_server_path||substr(v_filename,instr(v_filename,v_separator,-1) + 1); -- to pick the file
application := ole2.create_obj ('Excel.Application');
ole2.set_property (application, 'Visible', 'false');
workbooks := ole2.get_obj_property (application, 'Workbooks');
args := ole2.create_arglist;
ole2.add_arg (args, filename); -- file path and name
workbook := ole2.get_obj_property(workbooks,'Open',args);
ole2.destroy_arglist (args);
args := ole2.create_arglist;
ole2.add_arg (args, 'Sheet1');
worksheet := ole2.get_obj_property (workbook, 'Worksheets', args);
ole2.destroy_arglist (args);
ctr := 2; --row number
cols := 1; -- column number
go_block('xxx');
FIRST_RECORD;
LOOP
--Column 1 VALUE --------------------------------------------------------------------
olearg;
v_stop_load := ole2.get_char_property (cell, 'Text'); --cell value of the argument
:item1 := v_stop_load;
cols := cols + 1;
--Column 2 VALUE --------------------------------------------------------------------
olearg;
:item2 := ole2.get_char_property (cell, 'Text'); --cell value of the argument
cols := cols + 1;
--<and so on>
ole2.invoke (application, 'Quit');
ole2.RELEASE_OBJ (cell);
ole2.RELEASE_OBJ (worksheet);
ole2.RELEASE_OBJ (worksheets);
ole2.RELEASE_OBJ (workbook);
ole2.RELEASE_OBJ (workbooks);
ole2.RELEASE_OBJ (application);
END;
--End load data from EXCELPlease mark it as answered if you helped. -
How to load the data from excel file into table in oracle using UTL_FI
How to load the data from excel file into table in oracle
and from table to excel file
using UTL_FILE package
Please give me some exampleThis is something i tried in oracle apex
http://avdeo.com/2008/05/21/uploading-excel-sheet-using-oracle-application-express-apex/
Regards,
CKLP -
How to load the data from informatica into bw & how to report the data
Hi friends,
how to load the data from informatica into bw & how to report the data
using cognos.(i.e how to access the data in sap bw using cognos 8 BI suite).
Thanks,
madhu.Inorder to report BW data into Cognos you can extract data from using Open Hub to the DB table from which Cognos reads.
For BW informatic integration refer following docs:
http://www.aman.co.il/aman/pfd/DataInteg_BR.q103cd.pdf.pdf
http://h71028.www7.hp.com/enterprise/cache/3889-0-0-225-121.html
http://devnet.informatica.com/learning/ePresentations.asp
http://72.14.203.104/search?q=cache:C741L86Q19oJ:devnet.informatica.com/showcase/resources/Essbase_DataSheet.pdfinformaticapowerconnect(BI)&hl=en&gl=in&ct=clnk&cd=3
http://www.informatica.com/customers/utilities_energy/fpl_group.htm
http://www.informatica.com/solutions/resource_center/technote_sapbw_65241004.pdf#search=%22Informatica%20to%20Bw%22 -
How to load master data from SAP R/3 system like Customer master, materioal master , vendor master.............
Hi Bramha,
Check ...........
Re: master data loading in BI 7.0
/message/4708129#4708129 [original link is broken]
Re: Master data loading.
Regards,
Vijay. -
How can i copy songs from another library to my itunes library with homesharing?
How can i copy songs from another library to my itunes library with homesharing? I see the other libraries, but cannot drag the songs into my library. The help window says to use the "show menu" at the bottom, but I don't have that menu with itunes 11.
You can do this in 2 ways.
1) You can enable the sidebar and you can drag and drop like you used to be able to. To turn on Sidebar in iTunes 11, go to View > Show Sidebar
2) Another way is to connect to your Home Share from the drop-down menu from the left (where it says Music) and select your Home Share. Once you are connected to your Home Share, select Music and you should see a button that says "All Items" and on the right, you should see the Import button. To copy, select the songs you want to import and then click on Import. -
How to load java class from jsp page?
hi all!
Does anyone know how to load java class from jsp page?
I try to load java class from jsp page.
Is it possible to load java class fom jsp page?
thanks and have a good day!What I mean is How to load/open java class file from jsp page?
I think we can open Applet from jsp page by using
<applet code=helloApplet.class width=100 height=100>
</applet>
but, how to open java class which is an application made by Frame?
thanks and have a good day -
HOW TO CALL A FORM FROM ANOTHER FORM
HOW TO CALL A FORM FROM ANOTHER FORM [local machine]
Balraj wrote:
HOW TO CALL A FORM FROM ANOTHER FORM [local machine]The way you asked question is this bit of request or order?
Secondly, you used capital latters which are being treated as Shouting Language. So, always try to switch off the Capslock of your keyboard.
Thirdly, you are very lazy to serach on forum or google for your problem instead of waiting someone to anwer your question.
Your should seriously have a look at FAQ.
http://wikis.sun.com/display/Forums/Forums+FAQ
Also here.
http://www.catb.org/~esr/faqs/smart-questions.html
Please read documentation for the initial questions.
-Ammad
Maybe you are looking for
-
Error in creation of sample database during installation of Oracle8
I am trying to install Oracle8 for Intel Solaris8. Near the end of installation - running database configuration assitant, the creation of the sample database failed by an alert: ORA-03114: not connected to ORACLE I also tried to run database configu
-
Premiere Pro CC won't import XDCAM EX files from the Sony PMW200 or PMW150
I work for a company that recently upgraded to Premiere Pro CC from premiere Pro 6 after purchasing a Sony FS-7. This has worked great for viewing the files out of the FS-7, however I can no longer import the XDCAM EX files from our PMW200 camera tha
-
I downloaded a tv epsiode, but it doesn't show the entire 42 minutes. All I get is a clip of 30 seconds, rather than the entire 42 minute episode. I have tried to download the episode again, but it wont allow me to and I have also tried to download t
-
I can't log into iCloud using system preferences using Apple Id
Hello comunity: I describe the problem as follows (sorry for my english, not a native speaker): Background: Macbook air OS X 10.9 Mavericks (just updated), but changed my Apple ID just after that. -When I try to log into Icloud through System Prefere
-
How to create non-visual bean container, which will have a children non-visual beans? Is this supported by Netbeans IDE?