Win SDK function conflict with CVI library function

I do not have  SDK_CONFLICT_PRIORITY defined.  Is this new to CVI 2009?
The following code gives me an error  "11, 58   Too many arguments to `CVI_WriteFile'."
#include <windows.h> 
#include <formatio.h>  
void function (void) {
    HANDLE hHandle = INVALID_HANDLE_VALUE;
    char buffer [1000] = {'\0'};
    DWORD dwWriteCount;
  if (!WriteFile (hHandle, buffer, 5, &dwWriteCount, NULL)) {
I have included  <windows.h>   before   <formatio.h>  but CVI still wants to use the formatio version of WriteFile - it appears to have been renamed   CVI_WriteFile  ?!?!?
If I eliminate the #include <formatio.h>  it compiles OK.
Message Edited by menchar on 03-06-2010 04:00 PM

Well, the complete source for formatio.h I reported before is this one:
#ifdef _NI_mswin32_
extern int CVIFUNC      cviprefix(CloseFile)(int handle);
extern int CVIFUNC      cviprefix(OpenFile)(const char *filename,int rd_wrt, int action, int bin_ascii);
extern int CVIFUNC      cviprefix(ReadFile)(int handle, char *buf, int count);
extern int CVIFUNC      cviprefix(WriteFile)(int handle, const char *buf, int count);
extern int CVIFUNC      cviprefix(SetCommitMode)(int commit);
#define CloseFile       cviprefix(CloseFile)
#define OpenFile        cviprefix(OpenFile)
#define ReadFile        cviprefix(ReadFile)
#define WriteFile       cviprefix(WriteFile)
#define SetCommitMode   cviprefix(SetCommitMode)
#else
In the header this warning is present:
/* This header must be included after any Windows SDK header or any header */
/* that directly or indirectly includes a Windows SDK header.              */
/* Some of the function names conflict with Windows SDK functions.         */
As far as I can understand (but I'm not an expert on these very technical and tricky aspects of C) first of all CVI functions are renamed CVI_xxx, after it a call to WriteFile or any other function in that group is defined to be translated to CVI_WriteFile, so when you call WriteFile the preprocessor actually translates it in the CVI version of the function and SDK one is superseded.
My understandment is that if you undefine WriteFile, you can actually use both functions if you want: native CVI one by calling CVI_WriteFile and SDK one by simply calling WriteFile.
...or I can be missing some other hint, which can surely be possible!
Proud to use LW/CVI from 3.1 on.
My contributions to the Developer Zone Community
If I have helped you, why not giving me a kudos?

Similar Messages

  • [IPhone SDK] NSTimer conflicts with touch events

    Hi all,
    i've an NSTimer that refresh the UIView at 30 fps. Below there is the scheduled timer:
    animationTimer = [NSTimer scheduledTimerWithTimeInterval:animationInterval target:self selector:@selector(refreshAll) userInfo:nil repeats:YES];
    The problem is that the app doesn't wrap the touch events (touchbegan, touchesMoved and touchEnded) because the timer interval is too low and conflicts with this events.
    I tried to set the animation interval to 2 seconds and the touch events works but the rendering obviously is slow.
    However the problem is only on the device because when i launch the app on the simulator i have no problem with the timer.
    Can anyone tell me how I can solve this problem?
    Thanks

    The game I'm developing for the iPhone has 2 play modes (the second mode has more on screen objects). In the first game mode, I get a solid 29-30 frames per second (acceptable), however the second mode with more objects gives me 25 fps (slightly jerky). BTW, on a PC with modern hardware I get >1300 fps @1680x1050.
    At first I thought that the NSTimer resolution might be causing problems. The Apple demos all use a resolution of 1/60. Setting a value of 0.0 actually bumps the frame rate up by few frames, but I lose the ability to process touch input (crap). Adding usleep(a_delta) hoping to invode a context switch does nothing for the touch input.
    The next thing I tried was creating a dedicated rendering thread which basically does a while (1) render(); The thread will loop as fast as it can, and I regain touch input. On the plus side, I gained 3-4 fps for both game modes, so now I can hit 30 fps for the second mode (sweet).
    To make this work, I obviously needed to add locking primitives between the render thread and the iphone input (touch, sleep, phone call etc). The render loop is now basically:
    while (alive)
    aLock->Lock();
    render();
    aLock->Unlock();
    Anyway, I thought people would appretiate my experience when looking to squeeze a few more frames out of the iPhone. You just need to understand multiprocessing to work out the synchronisation issues.
    PS. There is some interesting advice in the following thread:
    http://discussions.apple.com/thread.jspa?messageID=7898898&#7898898
    Basically, they set invoke the runloop from the animation method. This might be simpler than spawning threads and handling locking, but I haven't tried it.

  • Windows Message Queue Library - problem with win SDK function Review

    Verified on Windows XP and 98 :
    in the VI "Get Window Refnum", called subfunction "FindWindowA" returns 0 which generates error code 6002. What should I do ?

    De plus,
    Quelle fenêtre essayez vous d'ouvrir ?
    En exécutant le VI "Get Window Refnum", il faut que la fenêtre soit ouverte préalablement. De plus, il faut entrer, dans "Window Name", le nom exact de la fenêtre avec les extensions. Par exemple si vous ouvrez un fichier bloc-Note s'appelant "Teste.txt", la chaîne de caractère à mettre est : Teste.txt - Bloc-notes.
    Je rappelle que ce VI ne fonctionne pas, pour le moment, avec les fenêtres LabVIEW.
    (De plus, avant de lancer le VI, cliquez droit sur la fonction "Appeler une fonction d'une DLL..." puis sélectionnez "Configurer...". Dans le champ "Nom de fonction", le menu déroulant des fonctions contenues dans la DLL doit être actif. S'il ne l'est pas, cliquez sur parcourir et sélect
    ionnez la DLL "user32.dll" qui se trouve dans C:\WINDOWS\SYSTEM32.)
    En espérant que ceci vous aidera,
    Cordialement,

  • I get the following errors with CVI 2010. "sal.h"(17​06,15) Redefiniti​on of macro '__null'.

    A project which was working with CVI 9.0 on XP does not compile with CVI 2010.
     I get the following errors with CVI 2010. "sal.h"(1706,15)   Redefinition of macro '__null'.  
    doesnt work with CVI 2010 on on win 7 too.  
    Could some one provide some insight into this please?  
    Thanks
    performance

    You wild guess is correct.
    The version of the Microsoft SDK that shipped with CVI 9.0 included a definition of __null that matched the definition that is in sal.h. You can find this definition in line 448 of CVI90\sdk\include\specstrings.h.
    The version of the Microsoft SDK that shipped with CVI 2010 included a definition of __null that no longer matches the definition that is in sal.h. You can find this definition in line 575 of CVI2010\sdk\include\spectstrings_strict.h. This is why the CVI compiler complains when it finds the sal.h definition.
    The SDK that ships with CVI has been customized to make sure that it works with the CVI compiler. But this does not include making sure that it also works with VC headers. In general, there's no way to guarantee that VC headers can be compiled in CVI, since these headers don't ship with CVI and cannot be customized.
    In this particular case, you might get it work if you include sal.h before you include windows.h. But there are no guarantees.
    Luis

  • Passing arrays with Call Library Function does not work after application builder

    Calling a DLL with Call Library Function which requires an array of data works correctly in Labview, but after building an exe with application builder, the call no longer works.  Dereferecing the pointer in the DLL retuns all 0s and not the actual values.
    Solved!
    Go to Solution.
    Attachments:
    TEST.zip ‏28 KB

    I did not run your code because it is a little unclear to me what it does.
    Two things:
    First, is the DLL you are calling the DLL-ified version of PopUpNames.vi? Then the problem is likely that the panel is not being built into the DLL.
    When LabView builds an application / dll, it strips the front panel and block diagram from all VIs that it doesn't think need to show a panel at run time. This reduces file size and increases code security. The App Builder's panel inclusion logic can be overridden by Build Specifications -> Source File Settings -> Remove front panel. A better method is to put a property node on a control in a window you want to show marking it "visible"; this is sufficient to tell the App Builder it should keep the panel.
    Currently Source File Settings shows "no dependencies" (clearly incorrect---another evil side effect of Express VIs I guess) but if you change the settings as shown below to keep ALL panels, one might hope the App Builder can figure it to keep the panel when it deconstructs the Express VI. (Alternatively convert the Express VI into a regular one.)
    A second comment: I am a bit flummoxed at the larger goal here. You are calling LabView DLL from LabView, which doesn't make a lot of sense, so I assume your larger goal is to call LabView from C or vice-versa. In that case be aware that your DLL is x86 (32-bit) but you are passing 64-bit ints as your pointers. In this case it is 32-bit LabView with 32-bit pointers in embedeed in 64-bit containers calling 32-bit LabView with 32-bit pointers in embedeed in 64-bit containers, so it all works, but if your going to call this from C or whatnot you're going to have to follow that same design.
    When calling C code the LabView Call Library Function does have a "unsigned pointer-sized integer" data type that always appears to be 64 bits in the dev env but which actually passes a 64 or 32-bit int to the DLL depending on the environment. The "pointer sized int" has to be 64 bits in the "LabView" part of the code because LabView's strong typing requires the data type to be determined at compile time. Casting all pointers to the largest data type in LabView makes it possible to write platform-independent code, but down at the Call Library level you still have to put the right number of bytes on the stack.

  • Error: Windows SDK function returned an error. (Error code -12)

    I receive this error when attempting to build an installer for my Labview application.
    CDK_Item_OnDoProperties.vi.ProxyCaller >> CDK_Item_OnDoProperties.vi >> CDK_InstallerConfiguration_Editor.vi >> CDK_Build_Invoke.vi >> CDK_Engine_Main.vi >> CDK_Engine_Build.vi >> NI_MDF.lvlib:MDFDistCopyList_CopyItem.vi
    Loading product deployment information
    Loading product deployment information
    Adding files to installer
    Done adding files
    Preparing to build deployment
    Copying products from distributions
    Copying distribution 'NI-DAQ 8.0.1' from: D:\ to: C:\DARTS\ATS_TE_Project\DARTS_NI-DAQ_HP3561A_Dynamic_Signal_Analyzer\Installer\
    *** Error: Windows SDK function returned an error. (Error code -12)
    The system cannot find the file specified.
    *** End Error Report
    Done building deployment

    I was able to get the install builder to build an installer for my
    Application today 6/6/07. These are the steps I performed along with good amounts of trail and error.
    1) I attempted to re-install the NI-DAQ 8.0.1 drivers however I didn't
    perform this because it said it remove NI products which I didn't want
    removed. But it didn't tell me what it would remove.
    2) Instead, I copied the entire NI-DAQ 8.0.1 distribution to a directory on my hard drive.
    3) I set the NI-DAQ 8.3 install build type to FULL in install builder.
    4) In install builder when prompted for the components from the NI-DAQ
    8.0.1 I browsed to the NI-DAQ 8.0.1 directory on the hard drive and
    also un-checked the cache box.
    5) It through another error this time saying it couldn't find
    C:\NI-DAQ8_0_1\8.0.1\Products\LabVIEW_Broker71\LVBroker71Deu.mst (and,
    LVBroker71Fra.mst, LVBroker71jpn.mst, LVBroker1071Deu,
    LVBroker1071Fra.mst, LVBroker1071jpn.mst). It also could not find the
    LVBroker1071 files in the
    C:\NI-DAQ8_0_1\8.0.1\Products\LabVIEW_Broker1071 directory either.
    6) I performed a search for these files and they did not exist in the
    NI-DAQ 8.0.1 directory on my hard drive or the 8.0.1 CD I have.
    7) These files DID exist in my NI-DAQ 8.3 directory located on my hard drive.
    8) I copied the LVBrokerxxxx.mst (listed in 5 above) files from the
    NI-DAQ 8.3 directory on my hard drive to the corresponding location in
    the NI-8.0.1 directory on my hard drive.
    9) This time when I rebuilt the installer for my application the build was successful.
    Additional information:
    When I built my application I only selected English for language
    support. In Install builder in "Dialog Information I also selected
    English.
    I haven't attempted to try the installer on my target yet so I'm not
    quite sure how successful I really was but at least I have a installer.
    Let me know if this also works for you.
    Rich...

  • Cannot call CS SDK function from javascript

    Hi!
    I'm trying it in Illustrator. I'm trying to call the actionscript code from ExtendScript.
    I read this two articles: http://forums.adobe.com/thread/634947?tstart=0 and http://cookbooks.adobe.com/post_Communicating_between_JavaScript_and_the_CS_SDK_us-17383.h tml
    They all propose the same technique, like var jsxInterface:HostObject = HostObject.getRoot( HostObject.extensions[ 0 ] )
    I'm using the external script (not an embedded one) I added my script to manifest file:
    <ScriptPath>./script.jsx</ScriptPath>
    And then trying to call jsxInterface.init( this ) which is defined in my jsx file. But with no luck. I just got an exception.
    It seems like  jsxInterface.init is not defined after all (of course, I defined it in .jsx file)
    Is there a way to call a CS SDK function from external ExtendScript script in Illustrator? Or a way to pass "this" object
    to javascript for a later access?
    Thank you!

    Hi Anastasiy,
    Weird!
    It looks like it does not work during a creationComplete event.
    If you change your code to intitialize in a function, and call that function outside the creationComplete event, it works fine. Like so:
    ExtendScript:
    function initializeJSX(){
      try
        alert('SUCCESS! foregroundColor object = '+app.foregroundColor);  } catch(e)
        alert('ERROR: '+e.description);
    MXML:
    <?xml version="1.0" encoding="utf-8"?>
    <csxs:CSXSWindowedApplication
        xmlns:mx="http://www.adobe.com/2006/mxml"
        xmlns:csxs="com.adobe.csxs.core.*"
        layout="absolute" historyManagementEnabled="false"
        creationComplete="initApplication(event)">
        <mx:Script>
            <![CDATA[
                [  Embed (source=  "../assets/test.jsx" , mimeType=  "application/octet-stream" )]
                private static var _testJSX:Class;
                [Bindable]
                private var hostName:String = HostObject.mainExtension;
                private var jsxManager: HostObject;
                private function initApplication( e: Event ):void
                    jsxManager = HostObject.getRoot(HostObject['extensions'][0]);
                    jsxManager.eval( new _testJSX().toString() );
            ]]>
        </mx:Script>
        <mx:VBox height="100%" width="100%" verticalAlign="middle" horizontalAlign="center">
            <mx:Button label="Run PS code" click="jsxManager.initializeJSX()" enabled="{hostName.indexOf('photoshop') > -1}"/>
        </mx:VBox>
    </csxs:CSXSWindowedApplication>
    I presume you can get what you what by calling the function via a timer or some other event...
    Harbs

  • AYUDA me sale --Error code-12-- Windows SDK function returned an erro

    Buenas compañeros, necesito una super ayuda ya que quiero instalar en mi laptop q tiene wind7 y me sale este error:
    Error:  Windows SDK function returned an error (Error code-12)
    End Error Report
    Por favor ayudemen con alguna solucion para poder instalar el Labview 2008 8.6, ya que necesito hacer mi tesis.
    Les estare agradecido por todo, estamos en contacto y gracias

    Try posting in english here
    Translation 
    I need a super help because I want to install on my laptop has wind7 q and I get this error:
    Error: Windows SDK function returned an error (Error code-12)
    End Error Report
    Please help me with some solution to install the Labview 2008 8.6, and I need to do my thesis.

  • Application builder Error: Windows SDK function returned an error. (Error code -12) *** End Error Report

     try to create an installer in Labview 8.6.  The build fail and I got this message.
    CDK_CreateNewWizard_Invoke.vi.ProxyCaller >> CDK_CreateNewWizard_Invoke.vi >> CDK_InstallerConfiguration_Editor.vi 
    >> CDK_Build_Invoke.vi >> CDK_Engine_Main.vi >> CDK_Engine_Build.vi >> NI_MDF.lvlib:MDFBuildDist_Build.vi
    Loading product deployment information
    Loading product deployment information
    Loading product deployment information
    Loading product deployment information
    Adding files to installer
    Done adding files
    Preparing to build deployment
    Copying products from distributions
    Copying distribution 'NI LabVIEW 8.6.1 Datalogging and Supervisory Control Module' from: 
    D:\software\application\LabView\NI.LABVIEW\NI-Labview 8.6.1 DSC Module\ to: C:\Documents and Settings\Lidaoling\桌面
    \Builds\generate waveform\My Installer\
    Building deployment
    Copying setup files
    Setting merged database information
    Setting product information
    Setting developer part information
    Starting final build
    Validating...
    Copying files...
    Updating files...
    Creating merged database...
    *** Error: Windows SDK function returned an error. (Error code -12)
    *** End Error Report
    Done building deployment 

    Solution

  • Flex SDK 4 : mx.chart package and declaration of style 'direction' conflicts with previous declaration problem

    Hi There,
    We have recently downloaded SDK 4 and had configured the same for
    developement in flex builder 3, we are already using SDK 3.0. However
    to our surprise there were compile time error reported for mx.chart
    related classes. To resolve this we thought to import relevant .swc
    like datavisualization, automation from sdk 3.0, and it worked and
    resolved compile time error. But we landed up in on more problem that
    is 'Declaration of style 'direction' conflicts with previous
    declaration in E:\Softwares\FlexBuilder\sdks\SDK 4\frameworks\libs
    \datavisualization.swc(mx/charts/GridLines)'.
    If you could pleas help us to resolve these issues and also if you
    could answer these queries would be good
    1) SDK 4 has been declared to be open source, then why mx.chart
    package is not part of it?
    2) Why would 'Declaration of style 'direction' conflicts with previous
    declaration' occur?
    3) What are the other component and packages that are not part of open
    source for which license is still required?
    Waiting for reponse in anticipation.
    Thanks,

    I got this same error with the following setup.
    1. Building a SWC with Flex 4.0 Beta2 on FlashBuilder4
    2. SWC references other SWC that are built with Flex3.
    3. Define a <mx:ColumnChart id="column" ...> in a Flex4 skin.
    4. Got this compiler error. 
    Any idea if this is not supposed to work? I'm hoping I don't need all referenced swcs to be recompiled with Flex4 SDK. Some of those are external dependency that I do not have source code access.
    Thanks for any help.
    kam

  • SDK Function Error While Installing LabVIEW Student 2010

    Hello everyone,
    I am trying to install LabVIEW Student Edition 2010 on Windows 7 64-bit. I get SDK function error. I searched the knowledgebase questions but it seems the problem is mostly for 2008 versions or older. If anyone knows the solution to this, it would be of great help. Thank you.
    Attachments:
    LabVIEW_Student2010_Error.jpg ‏41 KB

    Ok, then try to install the MS SDK for Win7 first
    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6B6C21D2-2006-4AFA-9702-529FA782D63B

  • AIR SDK Functions

    Hi,
    I am trying to compile and build a mxml file and its
    app-config.xml file into a AIR installable file from an AIR
    application.
    Is it possible to access the AIR SDK functions inside an AIR
    application.
    Please help in this issue.
    Regards,
    Code....

    Hi,
    This is not possible directly from an AIR application.

  • Jar file of SDK function

    Hi,
    i am working on BO XI R3.1Vr.I need to use few SDK function like getID,getDocuments,getCUID and GUID could you please inform me which jar file to use and what is flow to be followed while making the API calls.
    Regards,
    Kumar

    Hello,
    have a lookat this documentation: boesdk_java_dg_12_en
    a sample:
    public static void main(String[] args) {
              String cms = "cmsserver:port";
              String username = "username";
              String password = "password";
              String authentication = "secEnterprise";
              IEnterpriseSession enterpriseSession = null;
              try {
                   ISessionMgr sm = CrystalEnterprise.getSessionMgr();
                   enterpriseSession =
                        sm.logon(username, password, cms, authentication);
                   IInfoStore iStore =
                        (IInfoStore) enterpriseSession.getService("", "InfoStore");
                   int propertySet = IInfoObject.PropertySet.DEFAULT;
                   SearchPattern searchPattern = new SearchPattern();
                   searchPattern.setObjectKind(CeKind.FOLDER);
                   SortType sortType = new SortType();
                   sortType.addSortDimension(ISortDimension.NAME_DESC);
                   IInfoObjects reports =
                        iStore.find(propertySet, searchPattern, sortType);
                   for (int i = 0; i < reports.size(); i++) {
                        IFolder report = (IFolder) reports.get(i);
                        System.out.print(report.getCUID());
                        System.out.print("\t");
                        System.out.print("\t");
                        System.out.print("\t");
                        System.out.print(report.getID());
                        System.out.print("\t");
                        System.out.print(report.getKind());
                        System.out.print("\t");
                        System.out.println(report.getTitle());
                        System.out.print("Parent: ");
                        System.out.print(report.getParentCUID());
                        System.out.print("\t");
                        System.out.print("\t");
                        System.out.print("\t");
                        System.out.print(report.getParentID());
                        System.out.print("\t");
                        System.out.println(report.getParent().getTitle());
                        IInfoObjects children = report.getChildren();
                        if (children != null && children.size() > 0) {
                             System.out.println("Children: ");
                        for (int j = 0; j < children.size(); j++) {
                             IInfoObject object = (IInfoObject) children.get(j);
                             System.out.print("\t");
                             System.out.print(object.getCUID());
                             System.out.print("\t");
                             System.out.print("\t");
                             System.out.print("\t");
                             System.out.print(object.getID());
                             System.out.print("\t");
                             System.out.print(object.getKind());
                             System.out.print("\t");
                             System.out.print("\t");
                             System.out.println(object.getTitle());
                        System.out.println("=================================");
              } catch (SDKException e) {
                   throw new Error("An error has occured: " + e.getMessage());
              } finally {
                   if (enterpriseSession != null) {
                        enterpriseSession.logoff();
    regards Johannes

  • Possible Xcelsius conflict with IPv6

    Xcelsius and IPv6:
    We ran into an interesting issue on a client site this past week. First time implementing an install on a Windows Server 2008.
    Environment:
    Win Svr 2008
    IIS 7
    Ipv6 & Ipv4 enabled
    BOE 3.1 w/ Xcelsius 2008
    The install went flawlessly with the ability to export objects/reports to the enterprise system, etc - with no problems. However, Xcelsius had issue with trying to connect to the CMS when trying to save/export to BOE 3.1 (and ONLY Xcelsius)
    We noticed they are running a NIC with IPv4 and IPv6 simultaneously (clearly listing a long hexidecimal IP address labeled IPV6 in IPCONFIG)
    So we went into the CMC/CMS properties and there is a box to manually enter an IPv4 and IPv6 IP address, respectively. If you try to enter addresses in both boxes, when you restart the CMS -- it will reset back to the default which automatically obtains the host. Therefore, we entered purely the IPv4 address and restarted the CMS.
    First issue resolved.  We were able to then hit Enterprise from Xcelsius... until you tried to save. Then it thought the Input FRS was down. So we had to perform the same step for the Input FRS and force it to a static IPv4 address of the server.
    Using the host name didn't work (that is the other option in the server properties for each service). I imagine you could play with the host file, but then you may have to do that for each client.
    In the end forcing the IPv4 address for the CMS and Input FRS properties did the trick, but it is strange because if you used the defaults -- the publishing wizard, for example, which hits the CMS and the Input FRS when importing objects -- didn't have a single problem. Only Xcelsius appears to conflict with IPv6.
    Thoughts? We would have figured it would use the same methods to connect to communicate with enterprise as Crystal Reports client, publishing wizard, etc. However, I did notice in SAP's IPv6 documentation on the Support Portal, that although 3.1 does handle IPv6 -- Desktop Intelligence still does not. Perhaps Xcelsius should be added to that list in the documentation?
    This is fine for a server with a static IP, but if for some reason their server is using a dynamic address and relying on the host DNS -- this could be an issue.
    Thoughts?

    HI,
    I've heard this problem before, but I haven't heard of a resolution.
    The NI's GPIB driver (NI-488.2) will not work with the Measurement Computing board. Not in LabVIEW 5 or 6. If you are using the GPIB VIs in LabVIEW 5 with the Measurement Computing board is because the MC driver replaced something.
    A device driver is a software component that requires detailed knowledge of the hardware it manages. NI's driver is written to control NI's GPIB hardware ONLY. The same applies to the MC driver.
    The driver also provides a Language interface, so that you can access the driver's functionality. To program in C, a driver will provide a header file with the function declarations and a dll (or static library). For LabVIEW the driver will provide the V
    Is. These VIs are provided by the driver and developed by the driver manufacturer. Most likely these VIs are wrappers for the dll function calls. This mechanism hasn't changed between versions of LabVIEW.
    You should contact Measurement Computing. They should be able to troubleshoot the problem, since they know what their driver installs.
    DiegoF
    National Instruments.

  • How to get web application to use Tuscany without conflicting with SAP SDO

    Hi,
    We are attempting to run a web application on SAP NetWeaver CE 7.1 SP1 which uses Tuscany SDO.  As it now stands We must use Tuscany because the web application will not run with the SAP SDO implementation provided by Netweaver. To ensure that Tuscany is loaded with priority, we have packaged the Tuscany JAR files and their dependencies as a heavy resource, as described here:
    http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60642a88-95fe-2b10-d387-a245d48fc257?overridelayout=true
    The final check showed that Tuscany was correctly deployed as a heavy resource and included the following JAR files:
    common-2.2.3.jar
    ecore-2.2.3.jar
    ecore-change-2.2.3.jar
    ecore-xmi-2.2.3.jar
    tuscany-sdo-impl-1.1.1.jar
    tuscany-sdo-lib-1.1.1.jar
    tuscany-sdo-tools-1.1.1.jar
    xsd-2.2.3.jar
    We also verified that the web application using Tuscany has a hard reference to the Tuscany heavy resource.
    However, when we try to run the web application, the following error is logged:  java.lang.LinkageError: Class commonj/sdo/DataGraph violates loader constraints
    The issue is definitely due to some kind of classloading conflict with the SAP SDO library, as the application runs normally when SAP SDO is manually removed from the classpath. Doing this on a production system is unfortunately not an option, though.
    So the question is: how to get web application to use Tuscany without conflicting with SAP SDO?

    I took a look at the "printerReady" example.  Looks like I may be able to use the InetPing (...) function to ping through a range of IP addresses looking for a response.
    Any ideas on how to find the MAC address associated with the IP addresses that respond?
    We may have multiple units responding and the MAC address will allow the operator to determing which unit to connect to.
    I'll try the InetPing to see how it works,
    Kirk

Maybe you are looking for