MS Access Runtime Activex Object
Hello All,
I have one pc where I installed Access 2010 Full version and one pc with a Access Runtime.
On the pc with the full version i can create a ActiveX "Access.Application" Class and run all
properties and methods.
That's not possible with the Runtime version. The Reference to the ActiveX Access Runetime is always Null.
I found this side http://support.microsoft.com/kb/210132/en-us to solve the problem, but I didn't know
how to create such a source code in labview.
In the false case of my VI you see the runtime method, but I do not know how to continue
at this Point (relating to the link):
Run-Time Version of Microsoft Access
4. Type the following procedure
Does somebody know how to create the "GetObject" Method in labview?
Thanks!
Attachments:
c_printReportAccess (DA504).vi 24 KB
shellexecute (DA504).vi 15 KB
Hi,
Did you have a look into this whitepaper? I think you can find some usefull help there.
Converting Visual Basic ActiveX Examples to Equivalent LabVIEW
http://www.ni.com/white-paper/2734/en
Regards,
Thomas
Similar Messages
-
Runtime error in WebDynpro - Access via 'NULL' object reference not possibl
Hi,
Structure of the CONTEXT in the VIEW::
WDSCREEN1
--> IMPORTING
--> S_KUNNR <- its a select option
--> EXPORTING
--> T_REPORT <- Which is table to hold the output data (with 4 fields)
In the context area i have root node (WDSCREEN1) and Sub nodes are IMPORTING and EXPORTING and child nodes as shown above. When i am referring them everything is fine except T_REPORT.
* Declaration
DATA: node TYPE REF TO if_wd_context_node,
node_exporting TYPE REF TO if_wd_context_node,
node_importing TYPE REF TO if_wd_context_node,
node_report TYPE REF TO if_wd_context_node,
node = wd_context->get_child_node( wd_this->wdctx_wdscreeb1 ).
node_exporting = node->get_child_node( wd_this->wdctx_exporting ).
node_importing = node->get_child_node( wd_this->wdctx_importing ).
* Bind the data to the context
node_report = node_exporting->get_child_node( name = 'T_REPORT` ).
node_report->bind_elements( lt_report ).
Its giving run time error 'Access via 'NULL' object reference not possible. ' when it comes to ' node_report->bind_elements( lt_report ).' I checked the content while debugging and found that it was initial. Not sure why Node_report is initial. all others have data.
node ->
node_exporting ->
node_importing ->
node_report ->http://wiki.sdn.sap.com/wiki/display/EP/PointersforTroubleshootingPortalRuntime+Errors
Hope this helps.
-Veer -
Problem with Dynamically accessing EJB Class objects in WL 7.0 SP1
I am trying to build a component which has the ability to instantiate and execute
an known EJB method on the fly.
I have managed to build the component but when I try and execute it I get a ClassNotFoundException.
I know that the EJB I am trying to invoke is deployed and available on the server,
as I can see it in the console, I also seen to have been able to get the remote
interface of the object, my problem occurs when I try and access the class object
so I can perform a create on the object and then execute my method
The code I have written is below:
private Object getRemoteObject(Context pCtx, String pJNDIName, String pHomeBean)
throws Exception {
String homeCreate = "create";
Class []homeCreateParam = { };
Object []homeCreateParamValues = {};
try {
//This call seems to work and doesn't throw an exception
Object home = pCtx.lookup(pJNDIName);
//However this call throws a java.lang.ClassNotFoundException
Class homeBean = Class.forName(pHomeBean);
Method homeCreateMethod = homeBean.getMethod(homeCreate,homeCreateParam);
return homeCreateMethod.invoke(home, homeCreateParamValues);
} catch (NamingException ne) {
logStandardErrorMessage("The client was unable to lookup the EJBHome.
Please make sure ");
logStandardErrorMessage("that you have deployed the ejb with the JNDI
name "+pJNDIName+" on the WebLogic server ");
throw ne;
} catch (Exception e) {
logStandardErrorMessage(e.toString());
throw e;
Any advice would be really appreciated, I'm fast running out of ideas, I suspect
it has something to do with the class loader but I'm not sure how to resolve it
Regards
Jo CorlessHello Joanne,
Congratulations! I'm very happy that you've managed to fix your problem. It's
always essential to understand how to package applications when deploying on BEA
WebLogic. Usually, by throwing everything into an EAR file solves just about all
the class loader problems. :-) Let us know if you have any further problems that
we can assist you with.
Best regards,
Ryan LeCompte
[email protected]
http://www.louisiana.edu/~rml7669
"Joanne Corless" <[email protected]> wrote:
>
>
I've fixed it!!!!!!!!
Thanks to everyone who gave me help!!!!
The class loader was the culprit which is what I suspected all along.
As soon
as I put the 2 jar files I was using into an EAR file the problem went
away!!!!!
Thanks again
Jo Corless
"Ryan LeCompte" <[email protected]> wrote:
Hello Joanne,
As Mr. Woollen mentioned, I also believe it's a problem with the class
loader.
You need to be careful how you arrange your EJBs, because WebLogic has
a specific
method in which it loads classes in an EAR, JAR, and WAR file(s). Please
refer
to http://dev2dev.bea.com/articles/musser.jsp for more information about
BEA WebLogic
class loading mechanisms and caveats. Also, try printing out the various
methods
that are available on the object that was returned to you via reflection.
For
example, use the getMethods() method, which returns an array of Method
objects
that you can subsequently cycle through and print out the various method
names.
This way you can discover if the class found/returned to you is indeed
the one
you intend to locate.
Hope this helps,
Ryan LeCompte
[email protected]
http://www.louisiana.edu/~rml7669
Rob Woollen <[email protected]> wrote:
I believe the issue is the home interface class for this EJB is not
available in the class loader which is doing the reflection.
If you do:
getClass().getClassLoader().loadClass(homeInterfaceClassName)
I suspect it will fail. Reflection still requires that the class be
loadable.
-- Rob
Joanne Corless wrote:
Hi Slava,
If I make my code look like you describe below I get a compliationerror telling
me that
home.getMethod() is not recognised (no such method)
If I change it slightly and use
Method homeCreateMethod =
home.getClass().getMethod(homeCreate,homeCreateParam);
The code will compile OK but when executed it still throws a NoSuchMethodException
Any ideas ?
Thanks for your help so far
Regards
Jo Corless
Your code should look like
Object home = pCtx.lookup(pJNDIName);
Method homeCreateMethod =
home.getMethod(homeCreate,homeCreateParam);
return homeCreateMethod.invoke(home, homeCreateParamValues);
Regards,
Slava Imeshev
"Joanne Corless" <[email protected]> wrote in message
news:[email protected]...
Hi Ryan,
I also wanted to mention that if you do a "header search" in this
particular
newsgroup
with the search query as "reflection", you will see many previousmessages
regarding
reflection and EJBs. I believe you could learn a lot from thedifficulties
that
others have faced and solved.I tried that and although there was a number of similar cases noneof them
actually
seem to fix my issue. Thanks for the suggestion though
Are the EJBs that you are trying to access accessible via your
system
classpath?
Try to avoid having them accessible via the main system classpath,and
only bundle
them in your appropriate EJB jar files (contained in an EAR file,for
example).Maybe I should have laid the problem out a little clearer.
I have a number of EJB's bundled up in a JAR file which is hot deployedto
the
server. Within this first JAR file is an EJB (SSB) component that
needs
to
be
able to invoke a known method on another EJB. This second EJB may
or
may
not be
within the first JAR file but it also will be hot deployed.
The component trying to invoke the method on the 2nd EJB has to
be
able to
create
an instance of the 2nd EJB without actually knowing anything bar
a
JNDI
Name which
is passed in at runtime.
I can get as far as doing the
Object home = pCtx.lookup(pJNDIName);
This returned a class with the name
"com.csc.edc.projects.allders.httppostoffice.postman.PostmanBean_mp8qy2_Home
Impl_WLStub"
My problem seems to occur when I try and invoke the create method
Method homeCreate = home.getClass().getMethod("create", new Class[0]);
My code throws a java.lang.NoSuchMethodException at this point so
I
am
unable
to progress to the next step of :
Object bean = homeCreate.invoke(home, null);
So I can return the instantiated bean back to the calling client.
Why am I getting the NoSuchMethodException, is is because I am gettinga
stub
back rather than the home interface and if so how do I get the truehome
interface
from the bean
Thanks in advance
Jo Corless -
How do I get an activeX object reference from a LabVIEW ActiveXContainer ref?
How do I get an activeX object reference from a LabVIEW ActiveXContainer ref?
I'm trying to control an ActiveX object (a Web Browser) from another VI and need to get the object reference programmatically. I can get the LabVIEW ActiveXContainer reference, but am lost on how to get the reference for the object _inside_ the container.Hi Lee,
The reference to the container is actually also accessing the object inside the container. Use the Property Node and Invoke Node to access properties and launch methods for the object. I've attached a small example that passes the reference to a SubVI and invokes a method inside the SubVI.
- Philip Courtois, Thinkbot Solutions
Attachments:
WebContainer.zip 21 KB -
Access vis NULL object reference.
Hi experts,
I have a component having context->node1->usernr
usernr is one of the attributes in node1.
node1 has cardinality 0..n
I have two views, view1 and view2 in the window.
both the view contexts have mapping with node1 of component controller context.
View1 has a table that shows usernr as a column and view2 has an inputfield, the value of which is bound to usernr.
On clicking a button in view1, I am creating an element of node1 and binding it to the node. this os working fine. Also I am firing the outplug of view1 which is connected to inplug of view2.
I debugged the view2 and it is going upto the HANDLEIN_view2_inputplug
Then I just get this dump "Access via 'NULL' object reference not possible."
Error in the ABAP Application Program
The current ABAP program "CL_WDR_VIEW_ELEMENT_ADAPTER===CP" had to be terminated because it has come across a statement that unfortunately cannot be executed.
Error analysis
You attempted to use a 'NULL' object reference (points to 'nothing') access a component (variable: " ").
An object reference must point to an object (an instance of a class) before it can be used to access components.
Either the reference was never set or it was set to 'NULL' using the CLEAR statement.
Information on where terminated
Termination occurred in the ABAP program "CL_WDR_VIEW_ELEMENT_ADAPTER===CP" - in "GET_ATTRIBUTE_EXTERNAL".
The main program was "SAPMHTTP ".
In the source code you have the termination point in line 10 of the (Include) program "CL_WDR_VIEW_ELEMENT_ADAPTER===CM00Q".
Source Code Extract
Line SourceCde
1 method get_attribute_external.
2
3 data data_container type ref to cl_wdr_data_container.
4 data attribute type wdr_attribute_pointer.
5 data client_component type ref to cl_wdr_client_component.
6
7 attribute-attribute_name = i_binding->attribute_name.
8 attribute-element ?= get_bound_element( i_binding ).
9 client_component ?= attribute-element->node->controller->component->data_container_superio
11 data_container = client_component->data_container.
12
13 e_value = data_container->get_and_format( attribute = attribute ).
14
15 endmethod.
Error is at line 9
Chosen variables
Name
Val.
No. 21 Ty. METHOD
Name CL_WDR_VIEW_ELEMENT_ADAPTER=>GET_ATTRIBUTE_EXTERNAL
I_BINDING
0000000C
D0000002
E_VALUE
SY-REPID
CL_WDR_VIEW_ELEMENT_ADAPTER===CP
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
4455455544554444445544455453334522222222
3CF742F6957F5C5D5E4F1410452DDD3000000000
%_DUMMY$$
0000
0000
2222
0000
ATTRIBUTE-ATTRIBUTE_NAME
USERNR
000000
000000
554545
5352E2
I_BINDING->ATTRIBUTE_NAME
USERNR
000000
=======================================================================
The thing that is worrying me is that nothing like this was happening at all earlier. I tested the application quite a few number of times and then suddenly this started. Since then it has not stopped.
I am unable to understand the reason for this. Pl help.
Regards,
Reema.
Edited by: Reema Shahbazkar on Jun 12, 2008 3:28 AMHey Reema,
Were you able to resolve this error. I am facing exactly the same issue currently . My primary data container nodes belong to the component controller. I did verify the same for any change in the cardinality and dont see anythign thats changed which could be impacting my views. In any case, I had kept the cardinality as 0...n initially to be safe since there cud be scenarios where no values can exist for the same at runtime.
Please do let me know how you happened to resolve this.
Thanks,
Puja. -
Imlementing synchronized access to shared objects in LabVIEW OOP
Many objects in object-oriented programming have an
identity, such as a file, a front-panel object or a hardware device.
These objects cannot be modelled using present LabVOOP (LabVIEW Object Oriented Programming) objects as
LabVOOP objects gets copied as wire is branched; multiple different
wires cannot all represent a single object. This issue has been
irritating the community of LabVIEW users since the release of LabVOOP
a few months ago.
It seems that there is a huge demand for
objects with unique identity i.e. by-reference objects in LabVIEW. The
central problem why LabVOOP propably doen't have these objects is the
difficulty in implementing synchronized access to these objects from
multiple parallel threads. The problem of synchronized access can be
divided into two different separate topics. First how the
sychronization should be implemented in LabVIEW runtime engine. Second
how this synchronization mechanism should be visible to the developer.
I'd like to start this thread to discuss these two issues.
Synhronization under the hood
Traditionally
people talk about locking of an object and about get-modify-set pass
when accessing the object. Locking is traditionally done by acquiring a
mutex for an object, modifying the object and releasing the mutex so
that other threads can access the same object instance. This is how
inter-thread synchronization is traditionally done. However, besides
the mutex based locking, the computer science community has innovated
also different kinds of methods on synchronizing the access to objects.
One way to get object-level synchronization is modify the
runtime engine so that it only allows a single method of a synchronized
object to run at any time. This mechanism of syncrhonization is
implemented in programming languages like O'Haskell, which is a Haskell
variant with object orirented features.
Also different
transactional mechanisms[1,2] have been successful. In transactional
mechanisms multiple threads are allowed to access a synchronized object
simultaneously. As each method accessing an object commits their
changes, they verify that no other object has modified the object
simultaneously in a manner than would break the transaction. If such a
modification has occurred, everything is rolled back. Transactional
mechanism do not suit to every possible situation as not everything can
be rolled back. For example it's hard to roll back an action that
somehow modifies the physical world.
User experience of synchronization
How
the synchronization is generally implemented in LabVIEW shouldn't be
directly visible to the developer end-user. The developer should
understand the general concepts of synchronization to take full
advantage of it, but in general the synhronization mechanism should be
integrated directly to development environment. There should in general
be no need to acquire a mutex by calling acquire mutex node but instead
the end-user should be able to specify which data needs synhronized
access in more sophisticated way.
In the following I propose a
mechanism of integrating the synchronized access of by-ref objects to
the development environemnt of LabVIEW. The proposal is very
preliminary but I hope it breaks the ice and the community would start
innovating in how should NI implement the syncrhonization support in
the user interface of LabVIEW.
Wire level synchronization
Only
methods can access object private data members. In synchronized access
to the object, it's the methods accessing the private data members that
need to be synchronized. The private data members are accessed by
applying unbundle node to the class wire and data is written back to
the object using bundle node.
What I propose is the following.
An unbundle node could either be normal or "synchronized". A
synchronized unbundle would guarantee the access to the private data
members in synchronized manner. All data wires originating from
synchronized unbundle would be of synchronized type, in a little
similar manner as a dynamic dispatch wire is of special dynamic
dispatch type. Such a wire must evetually be connected to a bundle
node. When the wire is bundled back to the originating object, the
synchronization requirement is released.
These synchronized
wires would look somewhat different from normal wires so that the
developer instantly knows that the wire is synchronized. The developer
can branch the wire, but only one wire branch can own the synchronized
type. The developer could easily select which wire would be
syncrhonized by Ctrl+clicking the wire. Such a wire can be considered
as a combination of a data and a mutex, even though mutexes don't need
to be the underlying synchronization method. The wire just guarantees
that there is a mechanism in the runtime engine that makes sure the
access to the wire data is synchronized.
There is a need to wire
data originating from a non-synchronized wire to a synchronized wire so
that it can replace the private data member of the class. This is
accomplished with a new node similar to bundle node, that would allow
replacing the data in a syncrhonized wire with some data originating
from a non-synchronized wire.
The synchronized wire can be
connected to a front panel controls of special syncrhonized type. This
way the synchronized wire can originate from a method and allow passing
the synchronized data to the calling VI and back to another method.
This is practical for example in a situation when the developer wants
to run different analyzes to a data class but don't want to rewrite all
the existing data analysis tools as class members. So the developers
writes a syncrhonization acquiring getData method that let's the
calling VI to access the syncrhonized data. Then the developer passes
this data to an analysis VI and passes the result back to a setData
method that writes the result back to the class wire.
There
will probably be technical problems in allowing the user to connect
such a synchronized wire to all existing VIs since these VIs. Therefore
the programming model for all nodes that do not support such
synchronized wires will be branching the wire and passing the
non-synchronized wire branch to the node and then bundling the result
back to the synchronized wire.
To increase performance and
decrease unnecessary buffer copies when a syncrhonized wire is
branched, if the syncrhonized wire continues directly to the new bundle
synchronized wire node, no buffer copy is made.
Discussion
The
syncrhonized access to a by-ref LabVOOP objects can be implemented in
multiple ways by National Instruments. The synchronized access should
be divided to two different and independent parts: 1) the user
experience of synchronization and 2) the runtime engine synchronization
mechanisms. As LabVOOP objects have special properties compared to
other LabVIEW data types, optimal user experience can be gained by
designing the user experience specifically for LabVOOP objects. From
user experience point-of-view this syncrhonization mechanism may not
work for other data types. Separating object syncrhonization from
synchronization of other data types is advantageous also for other
reasons. Due to the fact that object data can only be accessed via
object methods, more advanced synchronization methods may be used with
objects than can be used with other data types. O'Haskell
synchronization implementation is an example of this. Integrating the
synchronization directly to the user interface allows NI to change the
mehcanisms under the hood, when computer science comes up with more
advanced methods. Therefore NI could begin with traditional and quite
easy mutex-based synchronization and later move to more advanced
perhaps transaction based syncrhonization methods or even combinations
of multiple different methods.
I hope this topic generates
discussion that would help NI to implement an excellent synchronization
mechanism in LabVOOP. I hope that all talented individuals in the
community participate this discussion to help NI to reach this goal. I
also hope that if you just have time, it would be great if you could
surf the computer science resources to find out what kinds of new
techniques there exists for synchronizing access to shared resources. A
Large community may find much more innovative solutions than a few engineers at NI. Let's give NI the power of open source design
Tomi MailaHello Tomi,
First, thank you for taking the time to write such a well
though-out suggestion. Are you familiar
with the “LabVIEW Object-Oriented Programming: The Decisions Behind the Design”
document? I think the reason we chose to implement a ‘by
value’ strategy, is that is more in line with the LabVIEW programming paradigm
of dataflow, and would make sense to most of our LabVIEW users.
I think your suggestion is interesting, and it does
highlight the need to think outside of the conventional LabVIEW box and look to
some of the innovative things other languages do. However, I think we all agree that
synchronization takes careful planning and extra work for the programmer. Even with an ‘ideal’ solution I see no way
around this. For LabVIEW users today,
one great way to get synchronized ‘by reference’ semantics with your objects is
to use a single-element queue to pass your object. The queue itself is passed ‘by reference’ and
is inherently synchronized! The does
have the disadvantage of adding one more small layer of complexity to your
program, but some complexity would have to be introduced in any situation. The other disadvantage with this is that it
is not always an intuitive way to implement your program and requires some
amount of LabVIEW knowledge before one would generally come across this
technique.
In any case, I appreciate the time and effort you put in to
your suggestion. Please make sure that
you submit the suggestion formally through the NI Product Suggestion Center so
that it can be reviewed by some of the decision makers here.
Thanks again,
Travis M
LabVIEW R&D
National Instruments -
IC WEBCLIENT: Access via 'NULL' object reference not possible
Hi,
Iam working in ABAP, and learning CRM ABAP on CRM5.0 IDES Demo system I was trying to create a new WebIC by copying one view from CRM_IC to ZCRM_IC bsp application. Following are the steps I following according to Cook book documentation.
1. I copied BuPaDisplayCustomer view and controller from CRM_IC to ZCRM_IC from
BSP_WD_WORKBENCH by selecting CRM_IC and runtime profile = 'DEFAULT'.
2. Created a runtime profile from SPRO->CRM->IC Webclient->Customer specific modifications->Define
runtime profile.
3. Copied the 'DEFAULT' runtime profile to my new profile 'Z_COOKBOOK'. Assign 'ZCRM_IC' by
clicking on 'Controller and substitues'.
BSP Replaced Controller BSP ReplacmentController
CRM_IC BuPaMoreContactView Z_CRM_IC BuPaMoreContactView
4. Define IC Webclient profile:
SPRO->CRM->IC Webclient->Define IC Webclient profile->Copy the DEFAULT profile and assign it to
'Z_COOKBOOK',
5. Assigned the Webclient profile to the user from t-code 'PPOMW'. Selected 'USER' from the
existing 'Position' and Goto->Detail object->Enhanced obj descrption.Selected IC webclient from the
list and created Infotype assigned Webclient profile 'Z_COOKBOOK'.
6. Execute the ZCRM_IC from SE80 by rightclick and Test. Here is my problem,Iam receiving the
following error in the webpage.
The following error text was processed in the system CR7 :
Access via 'NULL' object reference not possible.
The error occurred on the application server CR7_01 and in the work process 0 .
The termination type was: RABAX_STATE
The ABAP call stack was:
Method: SET_MODELS of program CL_CRM_IC_BUPADISPCUSTOME=====CP
Method: SET_MODELS of program CL_CRM_IC_BUPADISPCUSTOME=====CP
Method: SET_MODELS of program CL_CRM_IC_BUPADISPCUSTOME_IMPLCP
Method: DO_REQUEST of program CL_BSP_WD_VIEW_CONTROLLER=====CP
Method: DO_REQUEST of program CL_BSP_CTRL_ADAPTER===========CP
Method: ON_REQUEST of program CL_BSP_RUNTIME================CP
Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_HTTP_EXT_BSP===============CP
Method: EXECUTE_REQUEST_FROM_MEMORY of program CL_HTTP_SERVER================CP
Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
Module: %_HTTP_START of program SAPMHTTP
I check the CRM services and all are active, using IE8 web browser. I just copied the view and controller
from CRM_IC into Custom BSP application i.e., ZCRM_IC.
Above error is occuring even If i run the standard CRM_IC BSP application and select one simple view.
from SE80.
Not sure whether any additional configuration or any special roles to be assigned to the Webclient profile.
Thanks,
Venn.hello swapna,
we are facing the same error while accessing the leave request link, all jco are testing fine, i checked backend connection and its fine, please tel me how did u resolved that issue,
Thanks in advance.....
ajay -
RFC to HTTP Interface - Access using NULL object reference is not possible
Hi All,
I am working on a Interface RFC to HTTP where in I am sending the data to a third party system.
Using PI 7.3 and Adapter type XI to send this data.
I am getitng an error Short dump occured when executing message in qRFC queue <Queuename>: Date/time 02.12.2011 08:44:57, user XXXXX, runtime error: Access using NULL object reference is not possible.
<SAP:Code area="INTERNAL">QRFC_SYSTEM_DUMP</SAP:Code>
I am entering the parameters such as target host,service number,path correctly with addrseing type as URL.
The message is failing in the call adapter step with the above error.
There are no messages stuck in SMQ2 as well.
Now on the other if I use the adapter type HTTP_AAE the messages is getting successfully delivered with the same parameters mentioned above.But as we know it is a plain adapter and will not have the SOAP envelope.
We would want to send the data using the XI adapter.
Any idea as why this issue is happening?
Helpful answers will be rewarded points.
Thanks & Regards,
RKHi,
please go through below threads,
Error for all the interfaces
Access via NULL object reference not possible., error key: RFC_ERROR_SYSTEM
hope it will help you
regards,
ganesh -
Is it possible to use an activeX object in aw rather than an
activeX control
I am trying to integrate a report writer into an aw program,
but the
suppliers have just informed me that it is NOT an activeX
control, rather an
activeX object.
Unfortunately not something I am familiar with.
Thanks for any helpI don't know VB script but do know that it is similar to
Authorware in
the way it can load ActiveX controls and the like. Often, the
folks I
work with, if asked to make something usually web-based work
locally
(commonly a Flash project), they'll embed it in VB to allow
the same
sort of local filesystem access I could achieve by doing the
same thing
in Authorware.
So, perhaps the VB example they have would shed some light on
the
approach? Of course, if VB has a way to load these mysterious
activeX
objects which Authorware does not, well, there you go...
Or, similarly, the 'online sample' on their site? If nothing
else,
perhaps that would show how to use this object in IE, which
you could
then embed into A'ware?
I was under the same impression as the others. I don't
understand what
an ActiveX object is compared to a control. Simply a data
file that some
applications know how to run without the, um, .ocx wrapper?
In that case, wouldn't it essentially be a .dll?
Erik
dave wrote:
> This was also my understanding, that it meant the same
thing, but there
> seems to be no activeX (ocx) file.
>
> It's from a company called process academy
> (
http://www.processacademy.ca/default.aspx),
they have report writing
> software that you can embed in different technologies.
Erik Lord
http://www.capemedia.net
Adobe Community Expert - Authorware
http://www.adobe.com/communities/experts/
http://www.awaretips.net -
samples, tips, products, faqs, and links!
*Search the A'ware newsgroup archives*
http://groups.google.com/group/macromedia.authorware
*The Blankenship Caveat: Note that direct linking to http
content
through any Authorware icon will likely fail if a proxy
server is present!* -
Variant Input Parameters with ActiveX Objects
I've created an ActiveX library that exports a variety of objects using Visual C++ Version 6.0. I'm testing the methods and properties of these objects using both LabVIEW and Visual Basic clients. The problem I'm facing is that when testing under LabVIEW, I can't access methods that expect a VARIANT input parameter. The declaration in C++ of one object's such method looks like this:
void CChassis::Configure (VARIANT config, int rate);
I can create the ActiveX object with both LabVIEW and Visual Basic. I can invoke methods that do not use VARIANT input parameters using both as well; but, when I create a second ActiveX Object (a CConfiguration) and use the LabVIEW Variant operator, my attempt to invoke Configure fails with a "No Such Interface (E_NOINTERFACE)" error. The invocation fails identically if I wire the CConfiguration directly to the Variant input, as well. If I instead create a constant VARIANT as an input parameter, my Configure method gets called, although the method recognizes that I passed an invalid object.
Using Visual Basic I can invoke the Configure method without problems while encapsulating a CConfiguration object within a Variant.
So my question is, have I found a LabVIEW error, or is my approach flawed? If my approach is flawed, where have I gone wrong? Thanks in advance! I'm using LabVIEW version 7.0.Hi,
Have you tried to put in plain data or an object reference into your variant parameter?
I think plain data should work... for object references i don't know.
Some time ago, i also coded a small activex library, where i passed object references by parameters in delphi. I did not use variant parameters, but the real interfacedeclaration types (like IMyObject**). This worked fine. I also uses "dual" interfaces for the objects, which get passed by parameter. But i don't really know if this is helpfull for vb.
Finally, you can also use a workaround:
For each of your Objects, that you want to use from LabView and which you want to pass by a parameter, you
insert an new Property "int32 Object_Handle".
When an Object gets created, it ask a "ObjectHandleManager" (gets written by you) to get an own unique Object_Handle which it stores into its property "Object_Handle".
The ObjectHandleManager generates an new Object Handle and memorizes the Handle assoziated with the calling object's reference.
Now, at each time, when you want to pass a object reference to a library function of your self, you can pass the Object_handle as an integer value. In the called function, you can ask your ObjectHandleManager for the real ObjectReference.
But thats not a very comfortable workaround. -
Cannot access a disposed object that was just created.
Here is my code:
Imports System.Data.SqlClient
Imports System.Diagnostics
Imports System.IO
Imports System.Threading
Imports System.Text
Imports System.Windows.Forms
Module MigrationControl
Dim FormBulkLoadFailed As MessagePlatform
If runCommand(comSQL, cmdLoad, True) = -99 Then
'Informing user the Bulk Load failed.
FormBulkLoadFailed = New MessagePlatform(11)
FormBulkLoadFailed.ShowDialog()
End
End If
The FormBulkLoadFailed.ShowDialog() does nothing and the runtime properties says:
Cannot access a disposed object.
Object name: 'MessagePlatform'
How can something that was just created already be disposed?
Thank you,
CharlieDoes the MessagePlayform accept constructor accept an integer parameter? You are passing an 11 to the form. You probably have two constructors in the form. The default with zero parameters and the one you are using with one parameter.
I suspect the constructor is closing the form before it is displayed. Test for nothing like in the changes below
Dim FormBulkLoadFailed As MessagePlatform
If runCommand(comSQL, cmdLoad, True) = -99 Then
'Informing user the Bulk Load failed.
FormBulkLoadFailed = New MessagePlatform(11)
if not FormBulkLoadFailed is nothing then
FormBulkLoadFailed.ShowDialog()
End
End If
jdweng -
Getting "Connect Timedout or auth error" when usging UltraVNC ActiveX object in LV 2010
Hi all,
I am trying to use a VNC viewer activeX object (from: UltraVNC ActiveX Viewer) in Labview to start a remote desktop / VNC session. The example supplied along with the control is a HTML page with javascript invoking the object.
Initially, I tried using the object by directly inserting it into an ActiveX container, but it never worked. So, I altered the design and inserted a WebBrowser object in the ActiveX container and used the Navigate2 method to open the local .htm file (that contains the exact same code as shown in example, but with altered Server address to match my local condition). Yet, even this method fails. As soon as the control passes to the Browser:Navigate2 method, I get an error stating "Connect method failed as it timed out or authentication failure". Just to make sure there is no error with the html file itself, I opened the file in Internet Explorer and it works without issues, after first allowing the ActiveX to run (throws up a banner on top of the page saying "it is unsafe to run the activeX" (IE's security measure).
Did anyone use this before? I just want the VNC Viewer functionality in Labview, so any alternate suggestions are welcome too.
Regards,
Sri VedTested the solution, but did not work. Attached is the screen shot of the error, if it helps. Also, I ensured all the variables under ActiveX and Scripting are set to "Enable" in IE Security Settings (listed below) in both the Internet and Intranet categories. Is there something obvious that I am missing?
Regards,
Sri
Enabled:
Allow previously unused ActiveX controls to run without prompt
Allow Scriptlets
Automatic prompting for ActiveX controls
Binary and script behavior
Display video and animation on a webpage that does not use external media player
Download signed ActiveX controls (not secure)
Download unsigned ActiveX controls
Initialize and script ActiveX contrtols not marked as safe for scripting
Only allow approved domains to use ActiveX without prompt
Run ActiveX controls and plug-ins
Script ActiveX controls marked safe for scripting*
Scripting:
Allow programmatic clipboard access
Allow status bar updates via script
Allow websites to prompt for information using scripted windows
Enable XSS Filter
Scripting of java applets
Attachments:
ActiveX_VNC_Error.jpg 134 KB -
Microsoft Jscript runtime error: Object expected
I have a Visual Studio 2005 web application that uses a Crystal Viewer to display reports developed in XI. When I run the application on my development PC, I get no error, even with the debug turned on in IE7. When I run the application on my PC, using the web server address and click on the drop down to select the parameter, I get an error that says; u201CMicrosoft Jscript runtime error: Object expectedu201D. Both my development PC and the code published on the web server use the fully qualified report path down to the webserver name. No problem on my development PC running in Visual Studio, but a problem accessing the server. The onClick portion is the highlighted area is where the debug stops. This is code that is created from crystal. Originally, I was getting an error; 'Load Report Failed', but once I used the full path name of the report down the the webserver name, that error disappeared. I have XI installed on the web server and I can open and run the reports there. What am I missing on the web server? Thanks.
That would be the CR Service Pack located here:
https://smpdl.sap-ag.de/~sapidp/012002523100006255422008E/crxir2_sp4_inc.exe
You will then have to ensure that the same runtime is on the server. Use the msm or msi files from here:
http://resources.businessobjects.com/support/communityCS/FilesAndUpdates/crxir2sp4_net_merge_modules.zip
https://smpdl.sap-ag.de/~sapidp/012002523100009657852008E/crxir2sp4_net_si.zip
I'd recommend the msi as it does not require you to build a deployment project. Ensure that you uninstall the current CR runtime on the server. Also, once that is done, check to make sure that the c:\program files\business objects directory is removed. Then install the CR runtime using the above msi file.
Ludek -
I have installed Labview 64 bit onto my computer and downloaded the full 4Gb driver compilation. I am trying to use labview to run a motor control for my TPZ001 Thorlabs piezo controller. When I go to "Insert ActiveX Object", in the list of controls MG17Motor is no where to be found. This is the control I need for my motor and from what I gathered from my colleages this control should appear after having installed the Thorlabs ATP config/user CD application. I have also plugged the piezo controller into my computer's USB and got the successfully installed drivers message. Even after the 4Gb driver installation the motor control in activeX cannot be found. Am I overlooking something simple? The driver set installed in \Program Files (x86)\ even though everything is 64 bit, when I tried to change the install directory it said that my choice of \Program Files\ was invalid.
Where awareness goes, energy flows.nathand wrote:
There's more than one way to use an ActiveX object in LabVIEW. I may not use the correct ActiveX terminology, but there's a difference between an ActiveX control versus an ActiveX class. Only ActiveX controls can be inserted on the front panel. You can get access to an ActiveX class by using the "Automation Open" primitive found in the Connectivity->ActiveX palette. Create a constant for the Automation Refnum input, then right-click on the constant and choose "Select ActiveX Class..." See if you can then open your component there.
Hi nathand, can you explain a bit further what you mean? I have attached my code if you weant to have a look at what it is supposed to do.
Attachments:
READERxp.vi 39 KB -
Web-UI error message "Access via 'NULL' object reference not possible"
I need some help, I'm not a Basis person but I need to get this connection problem resolve.
This problem is in our DEV ICWeb system. After logging in to Web-UI, I got a error message "Access via 'NULL' object reference not possible". We have 3 clients (100, 220, & 310) in DEV and all 3 clients are giving me the same error message.
From the help.sap.com, I found this topic http://help.sap.com/saphelp_nwes70/helpdata/en/84/43f0d786304e19a652a8f80909a8ec/content.htm
but in the document it asked to go to SM59 to check the ESH_APPL_WS_TEMPLATEENGINE destination. But we don't have that destination setup in all our systems.
Here is the complete error message:
Error when processing your request
What has happened?
The URL http://crm-dev.staff.copa:8000/sap/bc/bsp/sap/crm_ui_frame/BSPWDApplication.do was not called due to an error.
Note
■The following error text was processed in the system CD1 : Access via 'NULL' object reference not possible.
■The error occurred on the application server CRM-DEV_CD1_00 and in the work process 0 .
■The termination type was: RABAX_STATE
■The ABAP call stack was:
Method: GET_DATA_LOSS_HANDLER of program CL_CRM_UI_CORE_APPL_CONTROLLERCP
Method: GET_DATA_LOSS_HANDLER of program CL_CRM_UI_CORE_APPL_CONTROLLERCP
Method: EH_TRIGGER_NAVIGATION of program CL_CRM_UI_CORE_APPL_CONTROLLERCP
Method: SET_WORKAREA_CONTENT of program CL_CRM_UI_CORE_APPL_CONTROLLERCP
Method: PROCESS_NAV_QUEUE of program CL_BSP_WD_VIEW_MANAGER========CP
Method: DO_INIT of program CL_CRM_UI_FRAME_APP_CONTROLLERCP
Method: DO_INIT of program CL_BSP_CTRL_ADAPTER===========CP
Method: GET_PAGE_CONTEXT_CURRENT of program CL_BSP_CONTEXT================CP
Method: ON_REQUEST_ENTER of program CL_BSP_RUNTIME================CP
Method: ON_REQUEST of program CL_BSP_RUNTIME================CP
What can I do?
■If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system CD1 in transaction ST22.
■If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server CRM-DEV_CD1_00 in transaction SM21.Hi Michael,
Refer to the link below and check the procedure.
http://help.sap.com/saphelp_nwes70/helpdata/en/84/43f0d786304e19a652a8f80909a8ec/content.htm
Regards,
Arjun
Maybe you are looking for
-
Hello, We are in process of finalization of our books of accounts. We have different profit center in our company and we are doing inter profit clearing. Now for some gl overall balance is Zero. But If we see Profit center wise then there it shows ba
-
I'm trying to start the postgresql service on my systemd installation. I've followed the instructions on the wiki. First I installed the package postgresql, then I uncommented the PGROOT line in the configuration file. When I try to run systemctl sta
-
One app, two different Apple Dev accounts ... Will it work?
Building a standalone/single-issue viewer app for a client. We've asked to be invited to join their Apple Dev team, but the client proposes this workflow instead: Scenario 1 • We use OUR iOS Provisioning Portal/Apple Dev account to generate all the c
-
Looking for DAM case studies/best practices
I just began working at school and we have a TON of old photos. My advice is just to permanently archive older photographs and begin fresh with Lightroom and a good digital asset management policy. I know there are resources and tutorials on DAM with
-
Why is my hard drive mostly backups?
Why is my hard drive full of backups? Okay, my computer was running low on storage space, so I decided to clean it up. Now, my storage tab in "about this mac" looks like this: What happened? Is there a secret folder somewhere where I can delete all t