EP5 - IISWAM Com+ components

Still have a very old version of the Portal running, EP5 SP3. We recently had a problem with the registry and lost all entries for the components labeled:
IISWAM.1__ROOT__SAPPortal__Common__iView_runtime...
I would grealt appreciate it if anyone had any knowledge on how these components work, how to restore them...
I have found two files in the C:\WINNT\system32\Registration directory that appear to have all of MMC components entries in them, the file extension is "CLB" to which I have no idea how to use this or restore the information from this file...
If anyone can shed some light on this it would be greatly appreciated.
Thanks, Paul.

Hi Dilip,
well, first i was a bit afraid to post it but
[Look here|http://en.wikipedia.org/wiki/Component_Object_Model]
i find it very useful.
also because there are more links refering to other useful sites.
lg David

Similar Messages

  • Breaking change in MDAC ADODB COM components in Windows 7 Service Pack 1 (repost with MSDN liveID)

    As my MSDN subscription is connected to this liveID, I repost my question in the hope to get a faster answer:
    After I installed Service Pack 1 on my Windows 7 x64 Ultimate my applications which use MDAC 2.8 COM components for database access do not work on other Windows versions any more.
    I hunted this down to changed Interface IDs in the msadoxx.tlb files. On Windows 2008 R2 e.g. the IID of dispinterface _Connection is {00000550-0000-0010-8000-00AA006D2EA4} (defined in msdado28.tlb). When I lookup the same dispinterface on my Windows 7 with
    SP1 (RTM from MSDN) I see this IID {00001550-0000-0010-8000-00AA006D2EA4}.
    That means that all code produced on Windows 7 SP1 using ADODB cannot be run on any other version of Windows as the IIDs differ.
    The CLSIDs still match, so the COM objects get created but due to different IIDs they cannot be used.
    I really hope I am missing something as this change seems to be a massively breaking change in the MDAC API.
    To verify the error you can use code like this in VB6 or equivalent in VB.Net or C# and compile it on Win7 SP1 and run it on Win7 RTM or older versions of Windows:
    Dim cn As ADODB.Connection
    Dim o As Object
    Set o = CreateObject("ADODB.Connection") ' this does still work
    Set cn = o ' this errors when compiled on Win 7 SP1 and run on older versions of Windows due to the changed IID of the dispinterface _Connection
    Regards,
    SvenC

    Ok NEW Fix:
    ===================================================================
    ---- / start: getting around Trusted Installer / ----
    STEP 1) Change owner of  
    "%CommonProgramFiles(x86)%\system\ado\msado28.tlb" to administrator or whatever your current local user is... 
    Then close all security windows.
    You might have to change this registry setting in order to change the owner:  
    (although I'm not sure, I did though.)
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{2A75196C-D9EB-4129-B803-931327F72D5C}
    Right click, Permissions, Advanced, Owner, Change owner to Administrators, Click OK, OK
    STEP 2) Back in the file properties, under Security, Change Permissions to Full Control for your new owner.
    ---- / end: getting around Trusted Installer / ----
    STEP 3) 
    Unregister it:
    Run C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12 -u "CommonProgramFiles(x86)%\system\ado\msado28.tlb"
    STEP 4) Copy in legacy msado28.tlb file (get this from a non SP1 Windows 7 Machine), i.e. overwrite the last one.
    STEP 5) Re-register the new one:
    Run C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12 "CommonProgramFiles(x86)%\system\ado\msado28.tlb"
    ** Now VB6 compiles from a Windows 7 SPK1 machine that reference MDAC 2.8 should work now automatically without changing anything in the project file or references
    Is there somewhere I can download the legacy msado28.tlb file since I have the only W7 machine in the organization?

  • An issue using the COM components supplied with SAP GUI 6.2 or 6.4

    We are having an issue using the COM components supplied with SAP GUI 6.2 or 6.4.  We used to have SAP 4.6c and now we have 5.0.  When we were on 4.6c, we used these COM components to logon and execute RFC calls and we had much success.  Now that we are on 5.0, we can’t seem to instance any SAP functions that have something to do with SAP Workflow.  We have experienced this problem when using VB6 or .NET, but our existing code that always worked is in VB 6.0.
    SAP Components used:
    o     SAP Logon Control
    o     SAP Function Control
    o     Librfc32.dll
    o     Other supporting C DLLs and/or COM object supplied with the SAP GUI installation.
    For example, if we want to call the RFC ARCHIV_CONNECTION_INSERT, this code fails in VB6 when the “Set objworkflow = objFuncCtrl.Add(strFunction)” line of code executes.  Instead of returning an instance of the object ARCHIV_CONNECTION_INSERT function, no object is created.  In 6.2, SAP raises no errors, but the object we are trying to create is still “Nothing”.  If we use 6.4, SAP raises an error “SAP data type not supported” via a message box and then the object is still = Nothing.  Interestingly enough, the 6.2 GUI COM controls don’t display the error dialog.  The message box that is shown comes from the SAP Function COM Object "SAP.Functions" (wdtfuncs.ocx).
    Now, what is interesting is if we use the same code to call a standard function or custom function that doesn’t have anything to do with SAP Workflow, then the code works fine.  Again, all of our code used to work just fine on an SAP 4.6 system.
    Here is the code that fails:
        'SAP Logon control - object for creating connections to an SAP system
        Dim objSAPLogonCtrl As Object
        'SAP connection object
        Dim objConnection As Object
        'Object that will represent the SAP function called
        Dim objSAP As Object
        'SAP function control object - object factory for creating other SAP function objects
        Dim objFuncCtrl As Object
        'Create instance of an SAP logon conrol
        Set objSAPLogonCtrl = CreateObject("SAP.Logoncontrol.1")
        'Create a connection object
        Set objConnection = objSAPLogonCtrl.NewConnection
        'Define connecion parameters
        objConnection.ApplicationServer = "sapvm"
        objConnection.SystemNumber = "00"
        objConnection.Client = "800"
        objConnection.User = "iissap"
        objConnection.Password = "tstadm"
        objConnection.Language = "E"
        objConnection.TraceLevel = 10
        'call the logon method of the connection object
        If objConnection.Logon(0, True) = False Then
            MsgBox Error
            Exit Sub
        End If
        'Create an instance of the SAP Function control object
        Set objFuncCtrl = CreateObject("SAP.Functions")
        'Set the function control connection object
        Set objFuncCtrl.Connection = objConnection
        'Function name to be generated and called
        Dim strFunction As String
        strFunction = <b>"ARCHIV_PROCESS_RFCINPUT"</b>
        'Create an instance of the function defined in strFunction
        Set objworkflow = objFuncCtrl.Add(strFunction)
        If objworkflow Is Nothing Then
            MsgBox "Could not create object " & strFunction
        Else
            MsgBox strFunction & " object created."
        End If
    If anyone has seen anything like this or has any ideas, please help!
    Mike and Hameed
    <b></b>

    Hi,
    documentation on the Scripting API is available at ftp://ftp.sap.com/pub/sapgui/win/640/scripting/docs/
    This API is a replacement of the existing, obsolete COM interfaces.
    Best regards,
    Christian

  • Installation outlooksoft error: Assigning COM+ Components: Error

    All,
    i am roger.
    I have installed one Outlooksoft Server on windows server2003 with MS SQL2005, after installation, when i do server diagnostic, the error occurs, at COM+ Component service entry, it says Osoftdatabase user , assiged error, status error, meanwhile, i found the errors "Assigning COM+ Components: Error" at osoft installation logs. How to correct this errors?
    in addition, when i want to install BPC for office installation or BPC for administation installation from software centers, at the last step, it display," installation incomplete
    -this screen is customizable by customer-,if you need help ,please contact your system administrator."
    what to do next  to solve this problem,
    could you give us advice?
    thanks in advance.

    Hi Roger,
    Is this a single server installation that you are referring to? or is this a multi-server installation. Did the error you receive during the diagnostic occur at the Assigned, Identity, Activation Type, Authentication Level area?
    To me right now this sounds like what happened could potentially be that during the installation you by accident entered the second or third password in the installation incorrectly. There is a bug in the install that only checks the validity of the first password entered and not the second nor the third.
    Regarding the BPC for Office Error I would focus first on getting the server installation fixed before moving on to the next step.
    Let me know
    1) Where the error occurs during the diagnostic
    2) if you are able to login to MS SQL 2005 with the user and password that you entered during the installation.
    Cheers,
    Scott

  • COM Components in Oracle Application Server

    Can i deploy COM Components in Oracle Application Server.
    I see from the documentation that only Java/EJB Components can
    be deployed. Is there anyway by which i can deploy COM
    Components also?
    Thanks and regards
    bala

    What is the basic difference between the >>BC4J in Oracle Internet Application server >>and the Business Components that come in
    JDeveloper 3.1. Business Components for Java consists of both a design time framework and a run time framework. The design time framework is intergrated into the design time tool - Oracle JDeveloper - The run time portion of BC4J is packaged as libraries and available on Oracle Internet Application Server.
    I >>How is the Connection Pool managed by
    the Business Components made >> with JDeveloper 3.1. The Connection Pool is part of iAS.
    Please see their white paper on OTN.
    I >>Are the business components made in
    JDeveloper reusable as in multiple
    projects.Absolutely.
    Code sharing / Sharing Projects across workspaces, etc has always been allowed.
    I hope this helps,
    -John

  • SAP COM components in C#

    I am new to SAP.
    I would like to use .NET C#.
    I was wondering if the SAP COM components would be difficult to use in C#. A lot of extra coding? or trouble calling methods and properties?
    Does anyone know of any surprises or things that might be more difficult to code in C# rather then just using VB. Have to go through a lot of hoops?

    Hi Jack,
    The SAP COM components are quite easy to use in C#, there's no extra effort involved in calling methods or properties. Compared to VB you need to do more "casting" of objects as C# is more strict in its OO approach, but again this is all quite easy to do. As a programming language, C# is very nice indeed.
    Lita

  • COM components in OAS

    I am aware of Oracle8i support for COM components, but I would like to deploy 3rd party COM components (e.g. MS CDO-NT for email/fax/messaging application integration) to the middle tier (OAS). I think I would need to create a custom cartridge for each component (one for all?).
    Anyone using COM components in OAS (vs O8i)- any comments?

    Interesting proposition but no affirmative answer.
    I my opinion, if you can invoke COM to create Word docs and Excel spreadsheets on the local machine (same as the DB server) from within PL/SQL stored procedures, there is no reason why you shouldn't further call these procedures from other procedures that can be accessed from OAS' PL/SQL cartridge (I assume that is what you are using). Now the question is, can you also invoke CDO COM DLL's from PL/SQL (I have yet to see an example for this), either on the same machine, or more likely on a different machine (you wouldn't put Oracle and IIS on the same NT box, would you)?
    So even if there is a round-about solution, it won't be as straight forward as using IIS. In the last a couple of years I see a trend among ORCL shops of shifting from OAS to IIS for their web app development, even though the database of choice is still Oracle, precisely for the same reason you are doing --- people want to pull data from Oracle and display on web pages, but also want to integrate the web app with messaging/office tools/report engines. COM based IIS is still the only end-to-end solution for this kind of intranet based work.
    If you use OAS 4.0.8's JServlet cartridge, I assume your can access COM, but you also need to write your own Java-COM wrappers, which I don't think is that worthwhile.
    Bottomline: ORCL MSFT interoperability has a long way to go, and I am not sure people are making a lot of effort to bridge the gap, when each are pushing its own favorite technology.
    Eric Ma

  • Call COM Components using JNI

    Hi,
    Can we call COM Components using JNI? If yes can someone pls guide me how to go about it
    Thanks
    Guriqbal

    JNIWrapper 2.0 Beta with Java-COM integration is already available for download and evaluation. Check the http://www.jniwrapper.com/news.jsp
    Hope this helps.
    EToporov

  • How can I use COM components in a delivery extension?

    Here is my situation:
    We have a large software developed by ourselves and this software has an API. This API is a COM interface with a .NET wrapper. When the DLL of the API is loaded, a few other native DLLs with business logic are loaded by it.
    I need to use this API for creating a delivery extension but as soon as the API DLL is loaded the extension can't be loaded anymore. I get the simple error message "extension can not be loaded" when used in the IDeliveryExtension implementation
    or "class not found" when used in the ISubscriptionBaseUIUserControl implementation on opening the subscription page.
    I am not sure what exactly the problem is but I guess the IIS and/or the SQL Reporting Service have a problem with the COM interface.
    What can I do to make this work? Can this even work somehow? Do I maybe need a different approach on this?

    Hi SijinK,
    Iam also facing similar problem.
    When I try to run my CAN application on a system on which NI-CAN s/w is not installed. It gives the error
    "Application failed to initialize properly (0xc0000142)" [error message is attached]. I included all the NI-CAN DLL's[list got using the Depends utility] under my application setup [built using InstallShield V10.0]. It copies the DLL's to the C:\winnt\system32 directory.
    Am I missing any step like registering the DLL's, etc.
    Can you/anyone please help ...
    Thanks in advance
    Vinayak
    Attachments:
    CanAppErrMsg.bmp ‏191 KB

  • LabVIEW's handling of simple COM Components

    I am a bit of a novice with labView (my disclaimer!), however I am writing a simple c++ com component and I need to specify methods that return more than one value.
    E.g. a method specified in IDL may be:
    [id(1), helpstring("method SendDSPUpgrade")] HRESULT SendDSPUpgrade(
    [in] long a_ModuleNo,
    [in] BSTR a_FilePath,
    [in] long a_Address,
    [out] long* a_MaxSize,
    [out,retval] long* a_ErrorCode);
    Here my COM component wants to populate the a_MaxSize and the a_ErrorCode - so that LabVIEW can use the resultant data.
    Can LabVIEW pass these parameters as pointers, or does it manage automatically like VB, or can this not be achieved ...?
    Thanks,
    Robert.

    Yep,
    LabView handles this automatically, converting to pointers where necessary transparently. I've tried it and it works smoothly.

  • How to use registrati​on-free COM with TestStand

    We create several different test programs run by TestStand. The sequence typically calls a function in a .NET dll that in turn calls functions in COM objects. We would like to use registration free COM to isolate the programs from each other but I'm having difficulty making it work. I know that in principle the manifest file and COM objects could be put in the same directory as SeqEdit.exe but this is unacceptable. I was thinking that using the activation context might be a way to do it. For example in C#: ActivationContext.CreatePartialActivationContext(ApplicationIdentit​y, string[]). ApplicationIdentity is the application identity of SeqEdit and the string [] parameter contains paths and names of manifest files that describe the needed COM objects. The idea would be to load an activation context with the .NET dll called by the sequence so SeqEdit could find the COM dlls in the same directory as the sequence. I haven't gotten it to work yet. Any ideas?

    Russell1,
    I'm going to try to give as thorough description as I can, since many other users may not understand what you're asking about.
    Normally, a COM server (ActiveX servers are COM servers) is registered with Windows via the registry.  Unfortunately, you can only have one version of the server registered at a time.  This is one of the reasons why TestStand (which is a COM server) needs a version switcher to change between engine versions.
    There is a technology called "Registration-free COM" that allows an application to use a COM server without having it registered in the windows registry.  It involves creating manifest files for the COM server and for the application that is calling the com server.  These manifest files are used by the operating system when the application tries to call the COM server to find the server.  Usually the OS would go to the registry, but it will check the manifest files first.
    The best reference on registration-free COM is an article on MSDN: Registration-Free Activation of COM Components: A Walkthrough.
    A year or so ago, there was a TestStand customer who was interested in forcing some of their applications to use a certain version of a COM server; I was able to get this working for them. 
    I tested the .NET and MFC TestStand user interfaces, and found that I could get registration-free COM working with both.  I found that two .manifest files needed to be created.
    The first is a .manifest file for the COM server.  This was a straightforward process following exactly the instructions in the above walkthrough (Step 7).
    The second is a .manifest file for the UI.  Since the TestStand UIs have their manifest files embedded in the application, I had to modify the .manifest file before building the UI, or use the .NET SDK tool mt.exe.
    After creating both manifest files, I found that adding them was enough to make .NET calls to the COM server work correctly if the application and server were in the same directory. 
    Unfortunately, I did not do any testing with having the COM server in a different directory.
    Now, on to your question:
    I just did some poking around on MSDN, and I have found the following information.
    Note that after you have configured a .manifest file for your COM server, it is then referred to as an "assembly".  I am making an assumption here (but I think it's a reasonable assumption) that after this, the COM server can be used just like any other assembly.  Specifically, it will be searched for in the same way an assembly is searched for.
    MSDN documents How the Runtime Locates Assemblies.  Note near the bottom of that page, if the assembly has not been bound to before, and it is not in the Global Assembly Cache (GAC), it will probe for the assembly.  From this I think the following are possible solutions.  Please note that I haven't tested any of them.
    MSDN documents the Probing behavior.  Note that it will only probe in sub-folders of the current application root directory ([application base]).  Note that there is also some information at the bottom of the page about COM interop scenarios.  I think what it is saying is that if you already are in an assembly, and call a COM server, it will look in the same folder as that assembly for the COM server.  This might be a possible solution for you.
    There is also an AssemblyResolve event that is fired if the CLR is unable to locate the assembly.  I don't know if this event is fired in the case that the COM server cannot be found, but if it is, you could then define your own way to search for the server.  I found this information in a blog post by Microsoft developer: https://blogs.msdn.com/junfeng/archive/2006/03/27/​561775.aspx
    One last possibility is to use an Application Configuration file; which is similar to a manifest file.  According to that page, there is an element called 'probing' that you can use with Windows 7 or Windows Server 2008 R2 when defining assembly binding to specify relative paths to probe for the assembly.
    I honestly don't know if any of these possibilities will work.  Please let me know if you get it working or if you need some more help, and I'll do my best to assist you.
    Message Edited by Josh W. on 02-04-2010 03:23 PM
    Josh W.
    Certified TestStand Architect
    Formerly blue

  • Accessing components vars.

    Hi,
    How do I access a var in a differint component? I have two custom components in the same application and need to get the variable (arrayCollection) from one to populate a chart in the other.

    Thanks Benji,
    ListItems Component
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init(), reloadData()" height="95%" width="100%" backgroundAlpha="0">
    <mx:Script>
         <![CDATA[
              import mx.core.Application;
              import mx.collections.ArrayCollection;
              import mx.containers.Box;
              import mx.controls.Alert;
              import mx.events.DragEvent;
              import flash.net.navigateToURL;
              import mx.events.StateChangeEvent;
              import mx.controls.ComboBox;
              import mx.controls.LinkButton;
              import mx.containers.VBox;
              import mx.controls.CheckBox;
              import mx.controls.Text;
              import mx.containers.HBox;
              import mx.collections.XMLListCollection;
              import mx.rpc.events.ResultEvent;
              import mx.managers.CursorManager;
              import flash.text.TextField;
              namespace ink = "http://www.inktomi.com/";
              use namespace ink;
              //     Archive Vars
              [Bindable] private var xmlList:XMLList;
              [Bindable] private var listCollection:XMLListCollection;
              [Bindable] private var listData:XML;
              [Bindable] public var serviceURL:String = "http://boss.yahooapis.com/ysearch/news/v1/";
              [Bindable] public var searchFor:String = "biotechnology%20AND%20biotech";  
              private const PROXY:String = "http://localhost/employeePhoneDesktop/src/php/proxy.php?url=";
              private const APIID:String = "?appid=######
              private const PARAMS:String = "&format=xml&orderby=date";
              private var reload:Timer;
              //     Archive Vars
              private var vBox:VBox;
              private var hBox:HBox;
              private var titleText:LinkButton;
              private var itemInfo:Text;
              private var abstract:Text;
              private var archive:CheckBox;
              private var rateItem:ComboBox;
              private var category:ComboBox;
              private var container:VBox;
              private var clickURL:Text;
              private var canvas:Canvas;
              private var titleFormat:TextFormat;
              //     Archive Vars
              /*[Bindable]
              public var newsDB:ArrayCollection = new ArrayCollection( [
                     { title: null, clickURL: null, info: null, abstract: null, category: null, rateItem: null }
             public var newsDB:ArrayCollection = new ArrayCollection;
              private function init():void {
                   listService.send()
                   CursorManager.setBusyCursor();
              private function getData(e:TimerEvent):void{
                   listService.send()
                   CursorManager.setBusyCursor();
                   removeChild(container);
              private function reloadData():void {
                   reload = new Timer(10000, 10);
                   //reload.start();
                   reload.addEventListener(TimerEvent.TIMER, getData);
                   //trace(reload.delay);
                   //reload.addEventListener(TimerEvent.TIMER_COMPLETE,
              private function resultHandler(e:ResultEvent):void {
                   listData = e.result as XML;
                   // add the imems to an XMLList and XMLListCollection
                   // so that they can be used with the repeater class
                   // and update automatically
                   xmlList = e.result.resultset_news.result as XMLList;
                   listCollection = new XMLListCollection(xmlList);
                   CursorManager.removeBusyCursor();
                   // populate the layout with datd
                   createLayout();
              private function createLayout():void {
                   container = new VBox();
                   var categoryLabels:Array = new Array("Health","Industrial","Emerging Tech","Food & Ag");
                   var rateLabels:Array = new Array("Positive","Neutral","Negative");
                   for(var i:int=0; i<listCollection.length; i++) {
                        //vBox = new VBox();
                        canvas = new Canvas();
                        hBox = new HBox();
                        titleText = new LinkButton();
                        titleFormat = new TextFormat();
                        itemInfo = new Text();
                        abstract = new Text();
                        archive = new CheckBox();
                        rateItem = new ComboBox();
                        category = new ComboBox();
                        clickURL = new Text();
                        titleText.label = listCollection.getItemAt(i).title;
                        //titleText.addEventListener(MouseEvent.DOUBLE_CLICK, getURL);
                        titleText.addEventListener(MouseEvent.CLICK, getURL);
                        titleText.width = 400;
                        clickURL.text = listCollection.getItemAt(i).clickurl;
                        clickURL.visible = false;
                        clickURL.includeInLayout = false;
                        itemInfo.text = listCollection.getItemAt(i).source + " | " + listCollection.getItemAt(i).date;
                        itemInfo.y = 25;
                        abstract.text = listCollection.getItemAt(i).abstract;
                        abstract.y = 42;
                        abstract.visible = true;
                        abstract.includeInLayout = true;
                        abstract.width = 400;
                        abstract.height= 60;;
                        archive.label = "Archive";
                        category.prompt = "Category";
                        category.dataProvider = categoryLabels;
                        category.rowCount = categoryLabels.length;
                        category.visible = false;
                        category.includeInLayout = false;
                        category.width = 95;
                        category.height = 20;
                        rateItem.prompt = "Rate";
                        rateItem.dataProvider = rateLabels;
                        rateItem.visible = false;
                        rateItem.includeInLayout = false;
                        rateItem.width = 95;
                        rateItem.height = 20;
                        canvas.addChild(titleText);
                        canvas.addChild(clickURL);
                        canvas.addChild(itemInfo);
                        canvas.addChild(abstract);
                        canvas.addChild(hBox);
                        hBox.addChild(archive);     
                        hBox.addChild(category);
                        hBox.addChild(rateItem);
                        hBox.y = abstract.y + 60;
                        hBox.percentWidth = 80;
                        hBox.percentHeight = 80;
                        archive.addEventListener(Event.CHANGE, toggleArchive);     
                        container.addChild(canvas);          
                   container.x = 10;
                   container.y = 10;
                   addChild(container);
       // If someone chooses to archive the item, set the properties of the
       // ComboBoxes (visible & includeInLayout) to true
       private function toggleArchive(e:Event):void {
             var chb:CheckBox = e.currentTarget as CheckBox;
             var hBox:HBox = chb.parent as HBox;
             var len:int = hBox.numChildren;
             for(var i:int=0; i<len; i++) {
                   var cb:DisplayObject = hBox.getChildAt(i);
                   if((cb is ComboBox)) {
                    // toogle visibility and include in layout
                    (cb as ComboBox).visible = chb.selected;
                    (cb as ComboBox).includeInLayout = chb.selected;
       // Called when someone clicks on the titleLink. This function pulls the
       // origional website URL up in a seperate browser window
       private function getURL(e:MouseEvent):void {
                 var link:LinkButton = e.currentTarget as LinkButton;
                 var canvas:Canvas = link.parent as Canvas;
                 var clickURL:Text = canvas.getChildAt(1) as Text;
                 var url:URLRequest = new URLRequest(clickURL.text);
                 navigateToURL(url);
              trace(clickURL.text);
      /* private function showAbstract(e:MouseEvent):void {
                    var link:LinkButton = e.currentTarget as LinkButton;
                 var canvas:Canvas = link.parent as Canvas;
                 var abstract:Text = canvas.getChildAt(3) as Text;
                 var hBox:HBox = canvas.getChildAt(4) as HBox;
                 link.removeEventListener(MouseEvent.CLICK, showAbstract);
                 link.addEventListener(MouseEvent.CLICK, hideAbstract);
                 abstract.visible = true;
                 abstract.includeInLayout = true;
                 while(abstract.hitTestObject(hBox) == true){
                      hBox.y += 1;
                 trace(canvas.getChildren());
       private function hideAbstract(e:MouseEvent):void {
                    var link:LinkButton = e.currentTarget as LinkButton;
                 var canvas:Canvas = link.parent as Canvas;
                 var abstract:Text = canvas.getChildAt(3) as Text;
                 var hBox:HBox = canvas.getChildAt(4) as HBox;
                 link.removeEventListener(MouseEvent.CLICK, hideAbstract);
                 link.addEventListener(MouseEvent.CLICK, showAbstract);
                 abstract.visible = false;
                 abstract.includeInLayout = false;
              hBox.y = 35;
                 trace(abstract.text);
       public function archiveData():void {
                 var containerArray:Array = container.getChildren() as Array;
                 for(var i:int=0;i<containerArray.length;i++){
                 //for(var i:int=0;i<1;i++){
                      var canvas:Canvas = container.getChildAt(i) as Canvas;
                      var titleText:LinkButton = canvas.getChildAt(0) as LinkButton;
                      var clickURL:Text = canvas.getChildAt(1) as Text;
                      var itemInfo:Text = canvas.getChildAt(2) as Text;
                      var abstract:Text = canvas.getChildAt(3) as Text;
                      var hBox:HBox = canvas.getChildAt(4) as HBox;
                      var archive:CheckBox = hBox.getChildAt(0) as CheckBox;
                      var category:ComboBox = hBox.getChildAt(1) as ComboBox;
                      var rateItem:ComboBox = hBox.getChildAt(2) as ComboBox;     
                      if(archive.selected == true){
                        newsDB.addItem( {
                        title: titleText.label,
                        clickURL: clickURL.text,
                        info: itemInfo.text,
                        abstract: abstract.text,
                        category: category.selectedLabel,
                        rateItem: rateItem.selectedItem });                    
                      trace(newsDB[0].title);
       private function archiveSuccess():void {
                 Alert.show("Your clips have been successfully saved","Archive Complete");        
       private function archiveFault():void {
                 Alert.show("Your clips have not been saved. Please contact an administrator.","Archive Error");
         ]]>
    </mx:Script>
         <mx:HTTPService id="listService" url="{serviceURL + searchFor + APIID + PARAMS}" result="resultHandler(event)" resultFormat="e4x"/>
    </mx:Canvas>
    Main mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
         layout="absolute"
         xmlns:com="components.*"
         backgroundGradientAlphas="[1.0, 1.0]"
         backgroundGradientColors="[#EDF4FF, #C6D9FF]"
         width="800" height="600"
         backgroundAlpha=".75"
         title="  Media Trap Beta V1.1"
         titleAlignment="left"
         creationComplete="init()">
         <mx:Script>
              <![CDATA[
              ]]>
         </mx:Script>
         <mx:Style source="assets/style.css" />
         <mx:Label x="19" y="14" text="Media Trap" fontWeight="bold" fontSize="20"/>
         <mx:Label x="20" y="38" text="beta 1.1"/>
         <mx:TabNavigator id="navigator" width="450" height="89%"  x="20" y="61">
              <mx:VBox label="News">
                   <com:listItems id="newsFeed" name="newsFeed" backgroundColor="#FFFFFF" x="0" y="0" height="100%">
                   </com:listItems>
              </mx:VBox>
              <mx:VBox label="Blogs">
                   <mx:Text text="Blog Coverage"/>
              </mx:VBox>
              <mx:VBox label="Twitter">
                   <mx:Text text="Twitter Coverage"/>
              </mx:VBox>
              <mx:VBox label="Video">
                   <mx:Text text="Video Coverage"/>
              </mx:VBox>
         </mx:TabNavigator>
         <mx:Button x="348" y="36" label="Archive Selected" click="newsFeed.archiveData()"/>
         <!--<com:currentArchiveChart id="currentCats" x="478" y="81" height="212" />-->
    </mx:WindowedApplication>
    Charting Component
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="346" xmlns:com="components.*" creationComplete="init()" >
        <mx:Script>
            <![CDATA[
            import mx.core.Application;
            import mx.collections.ArrayCollection;
              // testing variable
            [Bindable]
            private var medalsAC:ArrayCollection = new ArrayCollection( [
                { Country: "USA", Gold: 35, Silver:39, Bronze: 29, Test: 20000 }
            private function init():void{
                 trace(mx.core.Application.application.myListItems.newsDB as ArrayCollection);
                 medalsAC.addItem( { Country: "Canada", Gold: 75, Silver:39, Bronze: 29 });
                 medalsAC.addItem( { Country: "England", Gold: 100, Silver: 200, Bronze: 100 });
            private function displayGold(data:Object, field:String, index:Number, percentValue:Number):String {
                var temp:String= (" " + percentValue).substr(0,6);
                return data.Country + ": " + '\n' + "Total Gold: " + data.Gold + '\n' + temp + "%";
            ]]>
        </mx:Script>
             <mx:Label id="archiveTitle" x="10" y="10" text="Current Archive " fontSize="14" fontWeight="bold"/>
             <mx:PieChart id="chart" height="130" width="300" color="0x323232"
                showDataTips="false" dataProvider="{medalsAC}"  y="22">
                <mx:series>
                    <mx:PieSeries labelPosition="callout" field="Gold">
                    </mx:PieSeries>
                </mx:series>
            </mx:PieChart>
    </mx:Canvas>

  • Accessing com from java

    I wanted to access the com components of Visio using java. Can anyone help me with the source code as the code will help me in understanding how it does muh better.
    Hope some one has worked on this problem and have the solution ready, if so please help me.
    Thanks for all the help in advance.
    Sandy

    You need to use a java-com bridge like
    Jacob -
    http://users.rcn.com/danadler/jacob/
    jcom - http://sourceforge.net/projects/jcom
    bridge2java - ibm alpha/developerworks(i am not sure)
    Hope this helps,
    Ramkumar

  • Release COM+ object

    I have COM+ server component written in C# that is consumed by a C# WPF client, All the COM components are registered on the Client machine, I am able to create an instance of COM component and call the methods but after i am done with i am not able
    to dispose it.
    COM+ class:
        using System;
        using System.EnterpriseServices;
        using System.Runtime.InteropServices;
        namespace Mdrx.PM.Server.Lookup.Svr
            [EventTrackingEnabled(true)]
            [Guid("999999-A351-4AF9-AAFE-931549FD6EFA")]
            [ProgId("foo.PM.Server.Lookup.Svr.LkpQueryPat")]
            [Transaction(TransactionOption.Supported)]
            public class LkpQueryPat : ServicedComponent, IQuery
                public LkpQueryPat();
                public int Query(dynamic vntToken, object vntIn, ref object vntData, ref int lngErrorID);
    I have compile time reference to this assembly in my client project so i am able to directly instantiate an object. I try to use Marshal.ReleaseComObject but that throws exception:
    The object's type must be __ComObject or derived from __ComObject  
        LkpQueryPat patientLookupQuery = new LkpQueryPat();
        patientLookupQuery = null;
    On the server i can see under dcomcnfg that the object remains under In Call column and never goes away, even if i kill the client application.
    I noticed one more thing Objects column is the number of references client is holding and in my case it is 0 and that is because of these 2 lines, if i remove these then that number also keep increasing.
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms681593%28v=vs.85%29.aspx
    (patientLookupQuery as System.EnterpriseServices.ServicedComponent).Dispose();
    patientLookupQuery = null;
    What i don't understand is what the In Call column and how can bring that number to 0.
        

    My class is very simple, It has all the typical COM realted attributes applied to the class and it has one public method:
    public interface IGetFeatureToggles
    List<Data.FeatureToggle> GetAllFeatureToggles(object[] token);
    // List<Data.FeatureToggle> GetAllFeatureToggles(Token token);
    /// <summary>
    /// Class for retrieving Feature Toggles
    /// </summary>
    [ProgId("Mdrx.PM.Server.FeatureToggle.Svr.GetFeatureToggles")]
    [Transaction(TransactionOption.Supported)]
    [EventTrackingEnabled(true)]
    [Guid("960D39FE-2792-44D7-AC2B-14CD7A1CB50F")]
    public class GetFeatureToggles : ServicedComponent, IGetFeatureToggles
    #region private members
    #endregion
    #region constructors
    #endregion
    #region public properties
    #endregion
    #region public methods
    /// <summary>
    /// Retrieves all Feature Toggles
    /// </summary>
    /// <param name="token">Object Array representing a Token</param>
    /// <returns>List of FeatureToggle</returns>
    [AutoComplete]
    public List<Data.FeatureToggle> GetAllFeatureToggles(object[] token)
    IGetDbFeatureToggleAll getData = new GetFeatureToggleAll();
    var properToken = new Token(token);
    var featureToggles = getData.GetFeatureToggleDataAll(properToken);
    if (featureToggles != null && featureToggles.Count > 0)
    var getUserAccess = new GetFeatureToggleUserAccessByFeatureToggleId();
    foreach (var featureToggle in featureToggles)
    featureToggle.UsersWithAccess = getUserAccess.GetUserAccessDataByFeatureToggleId(properToken, featureToggle.FeatureToggleID);
    return featureToggles;
    #endregion
    #region private methods
    #endregion
    This class is registered on the client machine, I am adding a reference to the DLL, I need to the add the reference to my project because when i try to create an instance of the class using Activator.CreateInstance and the DLL is not there it gives in File
    not found exception.
    I am using this to get the type and create an instance;
    var iGetFeatureToggles = _comServerFactory.GetComServer<IGetFeatureToggles>(typeof(GetFeatureToggles));
    public T GetComServer<T>(string progId)
    Type comType;
    if (ComClientAssembliesManager.IsClientType(progId))
    comType = Type.GetTypeFromProgID(progId, null);
    else
    string remoteServer = ConfigurationManager.AppSettings[RemoteComputerNameConfigKey];
    //TODO: Analyze how to call DCOM object with "localhost" remote server name.
    comType = Type.GetTypeFromProgID(
    progId,
    string.IsNullOrWhiteSpace(remoteServer) || remoteServer == "localhost" ? null : remoteServer);
    return (T)Activator.CreateInstance(comType);

  • Alternatives to Replace a COM Component

    Hi,
    I've got an application written in PB 10.5 using the Kodigo framework.  I would like to migrate it to the latest version of PB, but part of the project includes a COM component which I can't migrate because support for COM components has been dropped.  The COM component includes a NVO which (among other things) opens an input window which is also used elsewhere in the application.  The COM component is called from a VB.Net Word Addin.  What are my options for updating this component to the latest version?  Do I need to create a .Net Component?  Is there a way to migrate a COM component to .Net?
    Thanks.

    Yes, that's correct.  It is a COM component created from Powerbuilder that is mainly used in a .Net application.  (It is also used in another older Win 32 application but I can work around that).
    The windows that are displayed from the COM component are from our main Win 32 application and are written using the Kodigo framework which uses a PBNI extension called Canvas.pbx.  I thought because they relied on a PBNI extension that I couldn't create a .Net assembly, but I'd be happy to be told otherwise.
    I've had a brief look at creating a .Net assembly, but I'm a bit lost.  Do I need to create that in PB.Net or can I use PB Classic?  I'm a bit confused about how PB.Net and PB Classic work together.  I've only started looking at PB.Net last week, but are their any tutorials on creating .Net assemblies?

Maybe you are looking for

  • Wireless printing from ipad to photosmart all in one 4780

    How do I print from my ipad to my wireless printer.  I have hp eprint app but I cant figure out how to use it.  My printer is supported, it is a photosmart all in one 4780.  Any help will be appreciated, thank you!

  • NoSuchObjectLocalException - call entitybean finder method from sessionbean

    I got javax.ejb.NoSuchObjectLocalException when I tried to call a BMP EntityBean finder method (return a List) from a session facade bean. The session bean uses the entityBean's local interface. Can anyone help? I am using JBOSS 4. From SessionBean: 

  • SAP Security handover from the Onshore Implementation team Documents

    Dear All, We are an Implementation & Support Team and we are getting SAP Security handover from the Onshore Implementation team where in future we ought to continue the Implementation. Please could you let me know what others documents which we requi

  • Captivate 7 Web Page Widget misaligned - Transform Property

    I just upgraded to Captivate 7 and am using a Widget to embed Web Page content for the first time. The project looks fine when I preview it, but when I publish it and post it to our LMS (SumTotal Maestro), the widget appears skewed in the resulting c

  • Calibration Lightroom Question

    Hi folks, I've calibrated my MacBook Pro monitor using a Spyder2 Pro which has produced nice colours on the OSX desktop. When I open Lightroom I find that all my images are supersaturated and that the colours just seem wrong. Blues look quite purple