Using Static Libraries in XCode 3

I'm pretty new to relatively low level programming, and I would like to use particular static library (.a extension). How do I do that in XCode? Suppose I have a file with .a extension in Frameworks folder in XCode project, now how do I get the names of headers, do I need to set header search path?
BR,
Alex

Hey,
I don't know if what you are doing can be somehow be related to my problem, but this is how you can link some existing libraries to a project:
Project -> Add To Project -> type "/usr/lib/"
Select the .a library you need. Note that it might have the "lib" prefix in front of it. I just checked and there are a few .a files there, but maybe not what you need. However, give it a try, since it helped me linking a library that I needed (its execution is sketchy though so it might not be the right way of doing so).
Let me know how it goes!

Similar Messages

  • How do you create a client using static libraries?

    We are trying to create a client that does not use shared libraries.
    We have tried to use a -Bstatic option when linking the libraries but,
    we get the error /usr/local/tuxedo/lib/libtux.a(libtux.so.60): fatal
    error: input shared object in static mode
    We have tried several variations like moving the .a files, changing
    the options around and got no where.
    Any suggestions would be greatly appriciated.
    Thank you.

    Hello,
    If you are using JSF, you can create a LOV by using the selectItem
    component.
    Look at this sample code:
    <h:form binding="#{backing_test.form1}" id="form1">
    <h:selectOneMenu binding="#{backing_test.selectOneMenu1}"
    id="selectOneMenu1">
    <f:selectItem itemLabel="option1" itemValue="1"
    binding="#{backing_test.selectItem1}" id="selectItem1"/>
    <f:selectItem itemLabel="option2" itemValue="2"
    binding="#{backing_test.selectItem2}" id="selectItem2"/>
    <f:selectItem itemLabel="option3" itemValue="3"
    binding="#{backing_test.selectItem3}" id="selectItem3"/>
    </h:selectOneMenu>
    </h:form>
    Regards,
    Luis R.

  • Extending DPS reader with static libraries and frameworks

    Is there any initiative within Adobe's roadmap to enable extending DPS reader within Xcode by use of static libraries and frameworks?
    Core functionality of the reader could be linked and distributed as binary assembly via static libraries.
    Shared resources of the DPS reader could be packaged wtihin a framework.
    Beyond extending capabilities of the reader, this would also enable advanced debugging and running on devices directly from Xcode.
    References:
    Using Static Libraries in iOS
    Framework Programming Guide
    iOS Frameworks

    Now that the .folio format has been opened up, are there any updates with regards to providing developers access to reader frameworks/libraries?
    Adobe .folio Format Specification
    In addition to the new feature updates, the technical specification for the .folio format is now available under a free license; further accelerating digital publication adoption and enabling newsstands to produce their own viewing apps capable of displaying digital content built using DPS. All entities who sign the license agreement will be given access to the specification.

  • How to create a static library in Xcode 4.2

    I need to make a static library from a project that consists of only two files, a c module and a header file.  I haven't used Xcode before, but had no problem figuring out how to create a new project and setting up what seemed like reasonable the build options, and the build reports success.  But no output files are being created.
    I figured it was time to dig into the documentation, but when I did some searching I turned up several horror stories about not being able to get this to work.  And from people who appear to know a lot more about this than I do.  So I thought I'd ask--is it a problem doing what ought to be a relatively simple task using Xcode 4.2?
    This is not an iOS thing, just a C function that I need to call from Python.
    Any suggestions as to how I can get this to work?

    Thanks for the response.  Yes, that's how I started.  I have now managed to get it to build static libraries; the piece I was missing was the scheme stuff.  I also tried to build dynamic libraries, but still no luck with those.  It was a little confusing because sometimes if I started a new project the scheme would allow me to create output as is; other times I had to edit the scheme first.  So reading the documentation appears to have paid off after all.
    FWIW, what I was trying to build was a missing library needed for a project in Python.  The entire project has two C libraries, which I've managed to build now, altough I don't know if there are some specific options that I need to set for them to work with the C wrapper.  The C wrapper is written in Cython, which creates a C file from Python-like statements.  The end result of linking the two libraries and the compiled C wrapper should be a file that can be imported into Python, which should have an extension of ".so".
    So far the last part is not working, so I don't know if the problem is with the build settings for the libraries, or something else.

  • With out using Weblogic libraries to maintain the same functionality

    Hi,
    Please tell the solution of my problem.Here application developed in Weblogic,now we are migrating that applicationin jboss.Here one java servlet program is there which is using Weblogic libraries to get the connection pool .
    How can change the code without using Weblogic libraries to maintain the same funtionality. Is there any alternate method to get the connection pools in Jboss.
    Here I am attaching the code ,please go througth the code and provide me the correct solution.
    package gsk.servlets;
    import java.io.*;
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import javax.naming.Context;
    import javax.naming.NamingException;
    import javax.management.*;
    import javax.management.InstanceNotFoundException;
    import javax.management.InvalidAttributeValueException;
    import javax.management.Notification;
    import javax.servlet.*;
    import javax.servlet.http.*;
    //Below lines are commnented by Anupama on 29-09-05 to avoid using Weblogic libraries.
    //import weblogic.jndi.Environment;
    //import weblogic.management.MBeanHome;
    //import weblogic.management.MBeanCreationException;
    //import weblogic.management.*;
    //import weblogic.management.runtime.*;
    //import weblogic.management.configuration.*;
    //import weblogic.management.RemoteNotificationListener;
    //import weblogic.management.logging.WebLogicLogNotification;
    //import javax.management.Notification.*;
    //below lines are added by Anupama T on 29-09-05 to run the same functionality without using Weblogic libraries
    import org.jboss.management.*;
    import org.jboss.jdbc.*;
    import org.jboss.naming.*;
    import org.jboss.management.j2ee.MBean;
    import javax.management.AttributeChangeNotification;
    import javax.management.JMException;
    import javax.management.MalformedObjectNameException;
    import javax.management.MBeanServer;
    import javax.management.NotificationListener;
    import javax.management.ObjectName;
    import org.jboss.logging.Logger;
    import org.jboss.system.ServiceMBean;
    import gsk.adip.portal.GKMProperties;
    import gsk.adip.dbconnectionservice.DatabaseConnector;
    * @author jjc18400
    * The ConnectionsManager class acts as a Servlet that listens and
    * responds to events that are thrown by WebLogic MBeans. In particular,
    * it listens for failures in WebLogic connection pools, and attempts to
    * restore these pools.
    public class ConnectionsManager extends HttpServlet implements NotificationListener {
         private static Context ctx;
         private static MBean managedHome;
         private static MBean adminHome;
         private static String SERVER_NAME;
         private static String DOMAIN_NAME;
         private static MBeanServer myServer;
         private JDBCConnectionPoolRuntimeMBean connectionPoolMBean;
         private JDBCConnectionPoolMBean jdbcConnPoolMBean;
         private JDBCConnectionPoolMBean myPool;
         private static ResultSet rset = null;
         public void init(ServletConfig config) throws ServletException {
              super.init(config);
              System.out.println("Initializing the ConnectionsManager servlet.");
              SERVER_NAME = GKMProperties.getProperty("GKM_SERVER_NAME");
              DOMAIN_NAME = GKMProperties.getProperty("DOMAIN_NAME");
              findMBeans();
              testConnectionPool("GENNETConnectionPool");
              try {
                   //findConnPool("GENNETConnectionPool").addNotificationListener(this, null, null);
                   RemoteMBeanServer rmbs = adminHome.getMBeanServer();
                   WebLogicObjectName oname =
                        new WebLogicObjectName("TheLogBroadcaster", "LogBroadcasterRuntime", DOMAIN_NAME, SERVER_NAME);
                   rmbs.addNotificationListener(oname, this, null, null);
              catch (IllegalArgumentException e) {}
              catch (MalformedObjectNameException e) {}
              catch (InstanceNotFoundException e) {}          
         public void handleNotification(Notification notification, Object obj) {
              WebLogicLogNotification wln = (WebLogicLogNotification)notification;
              System.out.println("\nWebLogicLogNotification");
              System.out.println(" type = " + wln.getType());
              System.out.println(" message id = " + wln.getMessageId());
              System.out.println(" server name = " + wln.getServername());
              System.out.println(" timestamp = " + wln.getTimeStamp());
              System.out.println(" message = " + wln.getMessage() + "\n");
         private void testConnectionPool(String poolName) {
              JDBCConnectionPoolMBean aPool = findConnPool(poolName);
              JDBCConnectionPoolRuntimeMBean aRuntimeMBean = findRuntimeMBean(poolName);
              /*while(aRuntimeMBean.getPoolState()) {
                   try {
                        Thread.sleep(6000);
                        System.out.println("Thread is sleeping.");
                   catch (InterruptedException ie) {
              retargetConnPool(aPool);
         private JDBCConnectionPoolRuntimeMBean findRuntimeMBean(String aPoolName) {
              JDBCConnectionPoolRuntimeMBean aRuntimeMBean = null;
              if (managedHome != null) {
                   try {
                        aRuntimeMBean = (JDBCConnectionPoolRuntimeMBean)managedHome.
                                  getRuntimeMBean(aPoolName, "JDBCConnectionPoolRuntime");
                   catch (InstanceNotFoundException e) {
                        System.out.println("Unable to find the JDBCConnectionPoolRuntimeMBean: " + e);
                        aRuntimeMBean = null;
              return aRuntimeMBean;
         private JDBCConnectionPoolMBean findConnPool(String poolName) {
              if (adminHome != null) {
                   try {
                        myPool = (JDBCConnectionPoolMBean)adminHome.getMBean(poolName, JDBCConnectionPoolMBean.class);
                   catch (InstanceNotFoundException e) {
                        System.out.println("Unable to find the JDBCConnectionPoolMBean: " + e);
                        myPool = null;
              return myPool;
         private void retargetConnPool(JDBCConnectionPoolMBean aPool) {
              //System.out.println("The connection pool: " + aPool.toString() + " is not responding.\nAttempting to retarget the pool...");
              try {
                   System.out.println("Attempting to remove " + myServer.toString() + " from the connection pool target list.");
                   aPool.removeTarget(myServer);
                   System.out.println("Removal successful: " + aPool.getTargets().toString());
                   aPool.addTarget(myServer);
                   System.out.println("Addition successful: " + aPool.getTargets().toString());
              catch (InvalidAttributeValueException e) {
                   System.out.println(e.toString());
              catch (DistributedManagementException e) {
                   System.out.println(e.toString());
         public void doPost(HttpServletRequest req, HttpServletResponse resp)
                   throws ServletException, IOException {
              String poolName = (String)req.getParameter("poolName");
              String dataSource = (String)req.getParameter("dataSource");
              //System.out.println("req.getAttribute(poolName) is: " + poolName);
              //System.out.println("req.getAttribute(dataSource) is: " + dataSource);
              String message = runTestQuery(dataSource);
              getConnectionPoolMBean(poolName);
              resp.setContentType("text/html");
              PrintWriter out = resp.getWriter();
              out.println("<html>");
              out.println(" <head><title>The ConnectionsManager Responds:</title></head>");
              out.println(" <body>");
              out.println(" <h1>" + message + "</h1>");
              out.println(" </body>");
              out.println("</html>");
         public void destroy() {
              System.out.println("Destroying the ConnectionsManager servlet.");
         public String getServletInfo() {
              return "This servlet monitors and corrects errors in WebLogic connection pools.";
         /**private void runTests() {
              while (false) {
                   rset = testConnection();
                   if (rset == null) {
                        resetConnectionPool();                    
                   try {
                        wait();
                   catch (InterruptedException e) {}
         private String runTestQuery(String dataSource) {
              String statusMessage = "";
              Connection conn = null;
              Statement stmt = null;
              ResultSet rset = null;
              //String aPoolName = "GENNETConnectionPool";
              String aSql = "select * from dual where 1 = 1";
              try {
                   conn = DatabaseConnector.getDatabaseConnection(dataSource);
                   System.out.println("Established database connection.");
                   if (conn != null) {
                        conn.setAutoCommit(false);
                        stmt = conn.createStatement();
                        rset = stmt.executeQuery(aSql);
                        statusMessage = "The connection \'" + dataSource + "\' is OK.";
              catch (Exception e) {
                   try {
                        conn.rollback();
                   catch (Exception e1) {}
                   e.printStackTrace();
                   statusMessage = "The connection \'" + dataSource + "\' has failed.\n" + e.toString();
              finally {
                   try {
                        if (stmt != null) stmt.close();
                        if (conn != null) conn.close();
                   catch (Exception e) {
                        e.printStackTrace();
                   return statusMessage;
         public void resetConnectionPool() {
         private void findConnPoolRuntimeMBean(String poolName) {
              try {
                   connectionPoolMBean = (JDBCConnectionPoolRuntimeMBean)managedHome.getRuntimeMBean(poolName, "JDBCConnectionPoolRuntime");
              catch (InstanceNotFoundException e) {
                   System.out.println("Unable to find the JDBCConnectionPoolRuntimeMBean: " + e);
         private void findMBeans() {
              Environment env = new Environment();
              try {
                   ctx = env.getInitialContext();
                   managedHome = (MBeanHome)ctx.lookup(MBeanHome.JNDI_NAME + "." + SERVER_NAME);
                   System.out.println(MBeanHome.JNDI_NAME + "." + SERVER_NAME + " -- managedHome found successfully.");
                   adminHome = (MBeanHome)ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
                   System.out.println(MBeanHome.ADMIN_JNDI_NAME + " -- adminHome found successfully.");
                   myServer = (ServerMBean)adminHome.getMBean(SERVER_NAME, ServerMBean.class );
                   System.out.println(MBeanHome.ADMIN_JNDI_NAME + " -- " + SERVER_NAME + " instance found successfully.");
                   ctx.close();
              catch (NamingException e) {
                   System.out.println("Naming Exception: " + e);
                   managedHome = null;
                   adminHome = null;
              catch (InstanceNotFoundException e) {
                   System.out.println("Unable to find the JDBCConnectionPoolMBean: " + e);
         public String displayHomeName() {
              getConnectionPoolMBean("GENNETConnectionPool");
              if (managedHome != null) {
                   return new String("MBeanHome found successfully.");
              else return new String("MBeanHome not found.\nSee WL Console for error.");
         private void getConnectionPoolMBean(String poolName) {
              String thisPoolName = poolName;
              connectionPoolMBean = null;
              if (managedHome != null) {
                   try {
                        connectionPoolMBean =
                             (JDBCConnectionPoolRuntimeMBean)managedHome.getRuntimeMBean(thisPoolName, "JDBCConnectionPoolRuntime");
                        if (connectionPoolMBean != null) {
                             System.out.println("JDBCConnectionPoolRuntime found successfully.");
                             System.out.println("connectionPoolMBean.toString() is: " + connectionPoolMBean.toString());
                             System.out.println("connectionPoolMBean.getFailuresToReconnectCount() is: " + connectionPoolMBean.getFailuresToReconnectCount());
                             System.out.println("connectionPoolMBean.getPoolState() is: " + connectionPoolMBean.getPoolState());
                   catch (InstanceNotFoundException e) {
                        System.out.println("Unable to find the JDBCConnectionPoolRuntimeMBean: " + e);
                        connectionPoolMBean = null;
              // Obtain MBeanHome for the administration server.
              /*JDBCConnectionPoolMBean mbean = (JDBCConnectionPoolMBean)home.
                        getConfigurationMBean(poolName, "JDBCConnectionPoolConfig");
              mbean.setConnLeakProfilingEnabled(true);
              mbean.setSqlStmtParamLoggingEnabled(true);
              mbean.setSqlStmtMaxParamLength(maxLen);*/
              /*try {
                   mypool = (JDBCConnectionPoolMBean)mbh.getMBean( "mypool",
                   JDBCConnectionPoolMBean.class );
              catch( javax.management.InstanceNotFoundException e ) {
                   mypool = (JDBCConnectionPoolMBean) mbh.createAdminMBean( "mypool",
                        "JDBCConnectionPool", "mydomain" );
                   mypool.addTarget( myserver );
                   mypool.setDriverName( "org.gjt.mm.mysql.Driver" );*/
              if (adminHome != null) {
                   try {
                        myPool = (JDBCConnectionPoolMBean)adminHome.getMBean(poolName, JDBCConnectionPoolMBean.class);
                   catch (InstanceNotFoundException e) {
                        System.out.println("Unable to find the JDBCConnectionPoolMBean: " + e);
              if (myPool != null) {
                   //System.out.println("myPool.getMaxCapacity() is: " + myPool.getMaxCapacity());
                   try {
                        myPool.setMaxCapacity(10);
                        System.out.println("Before: myPool.getMaxCapacity() is: " + myPool.getMaxCapacity());
                        myPool.setMaxCapacity(100);
                        System.out.println("After: myPool.getMaxCapacity() is: " + myPool.getMaxCapacity());
                   catch (InvalidAttributeValueException e) {
                        System.out.println("Max Capacity is an invalid value.");
                   //System.out.println("myPool.getMaxCapacity() is: " + myPool.getMaxCapacity());
    }

    Hy, i've got the same problem as you. Did you find out a solution.
    If so, please contact me. Thanks a lot.
    Lorenzo

  • Static libraries in Solaris10

    Hi,
    Static libraries like libm.a are not there in Solaris10.? I am getting following error while linking.
    <Snapshot>
    ld: fatal: file[b] /usr/lib/libm.a: open failed: No such file or directory
    If it is not there, what is the solution.? Should I use only dynamic libraries...?
    Thanks in Advance,
    Karthikeyan

    There are no more static libraries shipped with Solaris 10.
    You should use only dynamic libraries when compiling under Solaris 10

  • Rfc static libraries for Unicode (Linux)

    Hi all!
    Does anybody know if it is possible to use RFC static libraries for Unicode on Linux?
    I can compile and link my application, but when I am running it, I get message:  "undefined symbol: strtolU16". librfcu.a  is the only static library, which is provided in RFCSDK. Do I need to link my application with any other library?
    Everything works fine with non-unicode static library.
    Thank you in advance,
    Elena

    Oracle does not provide any static libraries for MS Windows.

  • Unusable static libraries in $TUXDIR/lib

    Hi,
    I'm trying to build a WS client to run on TRU64, and I would like to use the static
    libraries to make delivery easier. I have tried using buildclient and the cxx
    compiler/linker directly however the following is the best result I can get either
    way
    ld:
    Skipping archive /users/mlee/bea/tuxedo8.1/lib/libwsc.a because it has no archive
    header
    So then, when I check the library I get...
    4 -r-xr-xr-x 1 mlee pcs 8 Aug 13 2003 libwsc.a*
    8 bytes seems a bit useless! There are various posts on the web about this error
    but all solutions relate to rebuilding from source, not really an option for tuxedo?
    So I suppose I'm asking; Is there an installation option that will resolve this?

    Tuxedo does not ship with static libraries. The .a files that you see
    are not static libraries.
    Max Lee wrote:
    Hi,
    I'm trying to build a WS client to run on TRU64, and I would like to use the static
    libraries to make delivery easier. I have tried using buildclient and the cxx
    compiler/linker directly however the following is the best result I can get either
    way
    ld:
    Skipping archive /users/mlee/bea/tuxedo8.1/lib/libwsc.a because it has no archive
    header
    So then, when I check the library I get...
    4 -r-xr-xr-x 1 mlee pcs 8 Aug 13 2003 libwsc.a*
    8 bytes seems a bit useless! There are various posts on the web about this error
    but all solutions relate to rebuilding from source, not really an option for tuxedo?
    So I suppose I'm asking; Is there an installation option that will resolve this?

  • Using shared libraries

    I've just installed some shared libraries and I'm trying to write some code to access them. The libraries are in /usr/local/lib and the headers are in /usr/local/include .
    My C code can find the headers but when I try to compile it I get a load of  "undefined reference to" errors referring to the functions which come from the library. At the end I get
    collect2: ld returned 1 exit status
    This is when I use gcc as a compiler.
    I've ran ldconfig since installing the libraries.
    What do I need to do to use the libraries?

    I wouldn't do so. There are reason why there are libraries, and you can simply depend on libs (as most things in linux do anyway). If you don't want the deps, and say it's a distributed 1-exe-baby (as oracle) link them statically.
    Usually, you can speicfy in the installer where the libs shall go. Also, a .la file is compiled with libtool. I don't know if  you actually can do so, but i'd try to disable libtools (if it's not binary distributed).
    Also, you can simply make a pacman packages of the lib with headers, installing the needed things into the path you need it.
    If you're a developer, and develop together with other guys, i'd recommend you to create a package, and build up a own local repository, with the devel packages needed. I've done so here, that's really a nice solution, especially for libs installed like this for which you can create nice pacman packages.
    // STi

  • Static Libraries in C executables.....

    Hi, are there any symbol in the symbol table of C executable, that tells me the name of statically linked libraries and API's. or are there any method to determine the name of the statically linked library from a executable.

    There are no more static libraries shipped with Solaris 10.
    You should use only dynamic libraries when compiling under Solaris 10

  • Static libraries undefined symbols

    Hello,
    I have three libraries A,B,C. C uses B and A. B uses A. A is a dynamic library. I complied B and C as static libraries but when I try to use C I get a lot of undefined symbols related to B.
    Is there a special flag that I can use with libtool and get rid of that messages?

    What does your link order look like? Make sure B comes last.

  • How to connect my ipad using static ip

    How to connect my ipad using static ip?
    Using Netgear Router.

    Go to Setting > General > Network > WiFi > Then tap the blue icon next to your network, from here you can setup a static IP on your internal network.

  • Using CVI libraries in Visual Studio C DLL

    Hello,
    I am attempting to enhance a legacy VS 2008 Visual C based DLL to use NI Shared Variable/Network Variable support.  From what I have found in the documentation, it seems to imply that CVI libraries can be imported into an existing VS by using the libraries in the ext/msvc64 directory.  I originally included just the cvinetv.lib file to my linker list.  After reading more of the CVI programmer manual, it seemed to imply that cvirt.lib and cvisupp.lib were also needed.  Under both circumstances, the linker throws a conflict between CVI libary and MSCVRT.  Since this is a legacy project and not a CVI wizard generated situation, I'm wondering if there are more tweaks that need to be done my project settings.  I also found a mention of needing to list "libc" under "Ignore Specific Library".  Doing this made no difference either?
    Any help would be greatly appreciated..especially if this approach is not a valid way to take advantage of shared network variables in a standalone DLL.
    Thanks,
    Chris.
    Linker errors:
    1>LIBCMT.lib(tidtable.obj) : error LNK2005: _encode_pointer already defined in MSVCRT.lib(MSVCR90.dll)
    1>LIBCMT.lib(tidtable.obj) : error LNK2005: _encoded_null already defined in MSVCRT.lib(MSVCR90.dll)
    1>LIBCMT.lib(tidtable.obj) : error LNK2005: _decode_pointer already defined in MSVCRT.lib(MSVCR90.dll)
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: _amsg_exit already defined in MSVCRT.lib(MSVCR90.dll)
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: _initterm_e already defined in MSVCRT.lib(MSVCR90.dll)
    1>LIBCMT.lib(crtheap.obj) : error LNK2005: _malloc_crt already defined in MSVCRT.lib(MSVCR90.dll)
    1>LIBCMT.lib(mlock.obj) : error LNK2005: _unlock already defined in MSVCRT.lib(MSVCR90.dll)
    1>LIBCMT.lib(mlock.obj) : error LNK2005: _lock already defined in MSVCRT.lib(MSVCR90.dll)
    1>LIBCMT.lib(winxfltr.obj) : error LNK2005: __CppXcptFilter already defined in MSVCRT.lib(MSVCR90.dll)
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: __xi_a already defined in MSVCRT.lib(cinitexe.obj)
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: __xi_z already defined in MSVCRT.lib(cinitexe.obj)
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: __xc_a already defined in MSVCRT.lib(cinitexe.obj)
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: __xc_z already defined in MSVCRT.lib(cinitexe.obj)
    1> Creating library .\Debug/pil_dlld.lib and object .\Debug/pil_dlld.exp
    1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
    1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
    1>LIBCMT.lib(crt0.obj) : error LNK2019: unresolved external symbol main referenced in function __tmainCRTStartup

    I wonder if it is possible to some forum admin to mark Christopher's last reply as the solution. I've tested what he suggested, since I was trying to do basically the same thing, and it worked like a charm. Also thanks to Edna-S for confirming the validity of the fix.
    Wouldn't it be useful to update document 3TTHO2ZW to include Christopher's findings?
    Best regards,
    Robst - CLD
    Using LabVIEW since version 7.0

  • Using Static Variable against Context Attribute for Holding IWDView

    Dear Friends,
    I have a method which is in another DC which has a parameter of the type IWDView. In my view, I will have an action which will call the method in another component by passing the value for the view parameter. Here, I can achieve this in 2 types. One is - I declare a static variable and assign the wdDoModifyView's view as parameter value and I can pass this variable as parameter whenever calling that method or the second way - create an attribute and assign the same wdDoModifyView's view parameter as its value. Whenever I call this method, I can pass this attribute as parameter. What is the difference between these two types of holding the value since I am storing the same value i.e., wdDoModifyView's view parameter. But when I trigger the action from different user sessions, the first type of code (using static variable) prints the same value in both the sessions for view.hashCode() and View.toString(), but the same is printing the different values when I pass the attribute which holds the view parameter.
    Clarification on this is highly appreciated
    The problem I face is when I use static variable to get the view instance and export the data using the UI element's id, the data belonging to different user sessions is mixed up where as when I use Context Attribute, the same problem doesn't arise. I want to know the reason why it is so. Is there any other place or way where I can get the current view instance of each session instead of wdDoModifyView?

    Hi Sujai ,
    As you have specified the problem that we face when we use  static attributes, when end users are using the application .
    Static means i  have n number of objects but the static variable value will remain same every where.
    when it is context attribute for every object i.e nth object you have a nth context attribute i mean nth copy of the context attribute.
    so every user has a unique Iview parameter , when context is used and
    when static is used  , assume you have userA , his iview is set this intially  and u have another user B , when he is using  , since the variable is static and when you access this variable you will get the value of userA.
    Regards
    Govardan Raj

  • Best Practice for Using Static Data in PDPs or Project Plan

    Hi There,
    I want to make custom reports using PDPs & Project Plan data.
    What is the Best Practice for using "Static/Random Data" (which is not available in MS Project 2013 columns) in PDPs & MS Project 2013?
    Should I add that data in Custom Field (in MS Project 2013) or make PDPs?
    Thanks,
    EPM Consultant
    Noman Sohail

    Hi Dale,
    I have a Project Level custom field "Supervisor Name" that is used for Project Information.
    For the purpose of viewing that "Project Level custom field Data" in
    Project views , I have made Task Level custom field
    "SupName" and used Formula:
    [SupName] = [Supervisor Name]
    That shows Supervisor Name in Schedule.aspx
    ============
    Question: I want that Project Level custom field "Supervisor Name" in
    My Work views (Tasks.aspx).
    The field is enabled in Task.aspx BUT Data is not present / blank column.
    How can I get the data in "My Work views" ?
    Noman Sohail

Maybe you are looking for