Make panel modal from a CVI dll

I'm creating a CVI dll.  It will popup a main panel.  I need this panel to be a modal, just like a dialog window, user must exist before they can return to the caller.
The InstallPopup function doesn't work in this case.
By the way, I have additional popup panels on top of the main panel.  They are working ok with the InstallPopup function.
George Zou
http://webspace.webring.com/people/og/gtoolbox

George:
CVI doesn't create system modal windows.  InstallPopup creates application modal windows: the window (or panel) stays on top of other windows in the same application, but other applications can go active on top of the installed popups.
You could make the panel floating, which will have it be always on top, but not necessarily the foreground or active window.  To make a panel float, you can do it programmatically using
SetPanelAttribute (panelHandle, ATTR_FLOATING, VAL_FLOAT_ALWAYS);
or you can do it in the UI editor by double-clicking on a blank spot in the panel, and then click on Other Attributes, and set the Floating Style.  Having the panel float will keep it on top so it won't get lost under other windows, but other applications can still be active.
You could also use a timer to force your window to be the foreground window using the Win32 API (or Windows SDK) SetForegroundWindow() function.  This isn't a perfect solution, and you may see some strange behaviour on background windows if you really try to get them to be active, but it helps avoid an inadvertant click forcing the user to search for the desired window.
The attached appliaction uses a timer and SetForegroundWindow() to keep the panels on top.  It also calls InstallPopup to install a popup on top of the main panel, and sets the popup to be the foreground window.  There are some additional details in comments in the code and in text boxes on the panels.
The Win32 API (or Windows SDK, depending on which CVI version you have) isn't installed by default.  If it's not installed, you just need to reinstall CVI, selecting the Win32 API as an option.  Note that you need to use the version that ships with CVI, not VC++ or other development tool.
Attachments:
modalpanels.zip ‏6 KB

Similar Messages

  • How to Load a Panel during run time from a CVI dll

    Hi,
    I want to execute/load a panel during runtime, from a CVI dll function.
    my CVI dll "test.dll" has "READ_PAN" function. while executing this function from a Test Stand Action step i want Configure Panel (from FR_GUI.uir) to pop up.
    can you please suggest me how can i do this from my "test" project of CVI.
    int __stdcall __export RunFRConfig (CAObjHandle step,CAObjHandle thisContext)
        ERRORINFO errorInfo;
        char errMsg[1024];
        int pan;
        pan = LoadPanelEx (0, "FR_GUI.uir", READ_PAN, __CVIUserHInst);
        DisplayPanel (pan);
        RunUserInterface();
        DiscardPanel (pan);
        return 0;
            Error:
       // sprintf(FinalErrMsg,"Configure Error: %s",errMsg);  
        return -1;

    Thanks for ur reply.
    Hello Asad,
    It is possible to maximize the run time previewer when calling reports from forms. U need to set a parameter named 'MAXIMIZE' to do that.
    I m attaching a code sample for u. This is working in my production environment.
    DECLARE
    pl_id ParamList;
    BEGIN
         pl_id := Get_Parameter_List('setProposal');
         IF NOT Id_Null(pl_id) THEN
              Destroy_Parameter_List( pl_id );
         END IF;
         pl_id := Create_Parameter_List('setProposal');
    // This parameter is set to hide parameter form at run time     
         Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
    // This parameter is used to maximize previewer window at run // time
         Add_Parameter(pl_id, 'MAXIMIZE', TEXT_PARAMETER, 'YES');
    Run_Product(REPORTS, 'sample.rep', SYNCHRONOUS, RUNTIME,
    FILESYSTEM, pl_id, NULL);
    END;
    Feel free to contact me if u need anymore assistance.
    Take care and bye

  • Make Window Modal from SubVI

    I have a VI which I want to make modal to TS so I am using the Start/Stop Modal Dialog VIs. Now, I also have a set of preconditions and a bunch of code which I will include in this and several VIs more so I decided to make a subVI that includes the StartModal VI + all the repeated operations,  is there a way to do this? (using a sort of caller vi property in labvi) so far in the tests I've made LV/TestStand always make modal the VI that in which Start/Stop Modal VIs are directly placed...
    Suggestions? ideas??
    Attachments:
    ModalVI.PNG ‏9 KB

    I think the link has died - and I can't find where it's been moved to - it was a few years ago!!
    Just to check - you have a VI in LV that you want to make modal to the TestStand window (UI or sequence editor), but it's not the launched VI from TestStand and it's not the VI that contains the "Start Modal"
    In other words, TS calls LV VI which decides if it should call another VI based on decisions and it's that other VI that needs to be modal.
    In TestStand 2014, the Start Modal vi has an extra input compared to previous versions where you can wire in a reference to the VI you want made modal (don't wire it and it assumes the current VI).
    Does that help?
    If you're in an older version, then I believe the Engine methods for RegisterModalWindow, UnregisterModalWindow, NotifyStartOfModalDialog and NotifyEnd Of ModalDialog should exist.
    E.g. http://zone.ni.com/reference/en-XX/help/370052K-01/tsapiref/reftopics/engine_registermodalwindow_m/
    You obviously need to get the HWND for the VI you've launched but this should be fairly easy :
    http://digital.ni.com/public.nsf/allkb/136F6B1F34CBB76E852563FC007AEFC7
    The example pointed to here used FindWindow or FindWindowEx to get the HWND based on the titlebar name from User32.dll
    http://digital.ni.com/public.nsf/allkb/1B733F0C719BF70386257372002F847D
    Thanks
    Sacha
    // it takes almost no time to rate an answer

  • CVI dll crashes when it uses RefNum var passed in from other CVI code or from LV 2009. Why?

    Hi, all--I am pretty much a LabVIEW beginner, but starting to dry a little behind the ears.  Currently working on a project where the original LV code called VC CINs.  We want to convert the CINs (lvsbutil.exe--ick) to Call Library Function nodes and so I am working to convert the CIN code to a DLL.  Finally got everything compiled happily and went to run my VI calling the DLL--as far as I could tell, at the DLL call, CRASH!  So then, I fiddle around making a CVI main that I can use to call my crashing DLL(debug mode) from and I find the crash happens when I call FRefNumToFD, even though the RefNum seems to be legit.  I even tried inserting FIsARefNum in front of the conversion routine, and FIsARefNum crashes now too.  Is there a problem with these file manager functions?  Is there something freaky with RefNum passing between CVI and LV?
    I am using CVI 9.0 and LV 2009.  Thanks for all input!

    OK:  here is a screen shot of my vi, and some of the code from my CVI dll--
    //#include "extcode.h"
    #include "ShareLib_ProcessEF.h"  //The commented out stuff is in this header file
    /*typedef struct
     int32_t dimSize;
     uint16_t elt[1];
    } TD1;
    typedef TD1 **TD1Hdl;  */
    #define CHECKSUM ChecksumNew
    extern void CHECKSUM (uInt8 *pData, int32 Size, uInt16 *pXOR, uInt16 *pChk_sum);
    uInt8                 **hRead_buf;
    int32 __declspec(dllexport)ProcessEFBlock(LVRefNum *hFile, uint16_t *pChksum, uint16_t *pXOR, TD1Hdl hData_block,
     TD1Hdl hHdr_block, LVBoolean *pEOF, LVBoolean *pDLOK, LVBoolean *pSEND);
    int32 __declspec(dllexport)ProcessEFBlock(LVRefNum *hFile, uint16_t *pChksum, uint16_t *pXOR, TD1Hdl hData_block,
     TD1Hdl hHdr_block, LVBoolean *pEOF, LVBoolean *pDLOK, LVBoolean *pSEND)
      MgErr                 mgError;
      File                  fd;
      int32                 byte_count;
      uInt8                 size_buffer[2];
      int32                 read_buf_size;
      int32                 offset;
      uInt8                 *pRead_buf;
      uInt16                *pData_buf;
      uInt16                tmpChksum;
      int32                 i;
      uInt16                fill_count;
      int32                 DataBlockSize;
      uInt8                 **hTemp_buf;
      uInt8                 *pTemp_buf;
      uInt8                 fill_byte;
      BYTEWORD              byteword;
      BYTELONG              bytelong;
      Bool32    iRefNumErr;
      mgError = 0;
      // Convert file reference to file descriptor
      iRefNumErr = FIsARefNum(*hFile);  //This is where the code leaves to think things over
      if (mgError = (FRefNumToFD (*hFile, &fd)))
        goto out;
      } // if   
    Attachments:
    dll_call.jpg ‏45 KB

  • Guidance required: How to access global panel/file handles from within a dll?

    Hi again,
    I have been tasked with trying to separate an application into a modular form, basically I will have a main application which will be a generic GUI which must be associated with a DLL that contains test sequences. Currently these test sequences make calls to the various panel controls to display the test information, this currently works great. The problem that I am having is trying to understand code that is compiled to create a DLL is made aware of, what is essentially, global constants that are defined in my main application. 
    The purpose of this structure is that we will have a generic GUI for multiple products tests, with each DLL representing a different products test sequence, each DLL will be built using the same framework with the generic GUI in mind. 
    I guess essentially what I am looking for is to call RunUserInterface() from main.exe and control the GUI from tests.dll. Is this at all possible, or should I be using a different approach?
    It would be much appreciated if someone could give me some pointers.
    Thanks very much 

    Well, in my opinion for such a software design, DLL modules should not directly modify the main GUI.
    The main.exe should be responsible from its GUI, so that in case of a GUI modification you should not be have to modify all DLLs.
    Also, in this case, there is no problem of accessing global handles, etc.
    Instead, you should send "messages" to the main.exe from the test DLLs and the GUI should know what to do with each message.
    For messaging between such applications I personally use the DDE library. I find it simple to use.
    Your main.exe can setup a DDE server and the test DLLs can attach to it as a client.
    Each DLL can send its "steps" to the GUI and the GUI can display them and command the DLL to run each step upon user's selection. 
    I have seen menchar's posts regarding "shared memory" usage for such purposes.
    There might be other options, too. 
    It is your decision to make.
    Hope this helps, 
    S. Eren BALCI
    www.aselsan.com.tr

  • Make a screenshot from a panel?

    Hi,
    is it possible to make a screenshot from a panel? And save it
    in some object?

    yevgen_78,
    Flex 3 has an ImageSnapshot class which may do what you need.
    For more information, see
    http://livedocs.adobe.com/labs/flex3/langref/mx/graphics/ImageSnapshot.html
    Also, there are a few random examples at
    http://blog.flexexamples.com/category/imagesnapshot/
    which may give you some ideas.
    As for saving the pixels, you would probably need to send the
    raw image data to a server side script (ColdFusion, PHP, ASP, etc)
    to save it to a file.
    Hope that helps,
    Peter

  • Calling test sequence from CVI DLL that use ATL COM object does not work

    I am trying to call some DLL function writen in CVI from teststand. The CVI DLL is using ATL COM object(Written by me).
    The ATL COM object making instance of several ATL COM object inside it (including two controls that contains dialog). If I use a client writen in VC++ 6 and use the ATL COM (writen by me) works perfectly. But if I try to use it from CVI DLL it does not work any more.
    What is wrong? The client is passing an IUnknow interface to my component. Can anybody explain me what is wrong?

    It is not clear from your question as to what is specifically failing. If possible, one option would be to remove TestStand from the picture and see if the problem still occurs using a CVI EXE that invokes the CVI DLL.
    Scott Richardson - NI
    Scott Richardson
    National Instruments

  • Intermittent problem with TestStand calling CVI DLL calling MSCV DLL

    Sorry about cross post, but I am not sure which group is best to address
    this issue.
    Setup:
    Windows 2000 SP1
    TestStand 2.01f
    CVI 6.0
    MSVC++ 6.0 SP5
    Problem:
    I have a CVI Test Library DLL that contains test functions called by
    TestStand using the C/CVI adapter. The CVI Test Library DLL in turn makes
    several calls to another DLL written in MSVC++. I am experiencing an
    intermittent problem with one of the MSVC functions. The problem ~appears~
    to be stack related, but I am not sure. Among other things, this MSVC
    function accepts a const char * argument that is a TestStand lookup string.
    The function uses this string to access the TestStand API.
    What happens is this: Everything works fine. I then recompile the CVI DLL
    after making some mod, then run. The MSVC++ DLL asserts that the const char
    * arg passed by the CVI DLL is NULL. However, this is not the case if I
    single step through the CVI code. It has happened both with passing
    variables as the const char * argument and as hardcoded strings literals, so
    its not that I am actually passing NULL. The other argument to this
    function is the TestStand sequence context dispatch pointer (LPDISPATCH
    pobjSequenceContextDisp) and it always ~appears~ to be passed correctly.
    The problem is frustrating and hard to debug because I can not
    deterministically reproduce it. The problem ~never~ appears when I debug my
    MSVC++ DLL in Visual Studio. And it only occasionally appears otherwise.
    The problem, when it appears, always appears on the first run after
    recompiling the CVI DLL, though the problem does not happen after ~every~
    recompilation. I'd say it happens 1 in 6 times after a recompile.
    Recompiling the exact same code does not always make the problem disappear.
    If I change the CVI code (code that has nothing to do with the argument
    itself though) and recompile the problem almost always goes away. Selecting
    'Mark all for compilation' and rebuilding does not make the problem go away.
    Only tweaking the CVI code and recompiling does (usually).
    Whats more, the problem appears:
    * With the CVI DLL built as Debug or Release mode.
    * With the CVI default calling convention set to __stdcall or __cdecl.
    * With the C/CVI TestStand adapter set to run in-process or external
    instance of CVI.
    The problem appears to be some sort of stack or argument passing problem
    between CVI and MSVC, though thats just a guess based on the symptoms. I
    have quadruple checked the calling conventions of all declared functions.
    The CVI DLL functions all use TX_TEST (which resolves to __cdecl). The MSVC
    DLL functions all explicitly use __stdcall. Is there a problem with calling
    __stdcall MSVC functions from a __cdecl CVI function?
    I can find no other memory leaks or indications of memory corruption
    elsewhere in either the CVI or MSVC DLLs. Its only this one function that
    exhibits this strange 'null const char *' problem.
    Can anyone offer any ideas about what may be causing this problem? Anything
    else I should check/verify?
    Regards,
    Joe

    Silvius,
    > Although I'm not sure if any of the following are the real cause of
    > your problem, I have the following suggestions:
    Thanks for the reply. At this point any and all suggestions are welcome...
    > 1. There could be a problem with calling
    > __stdcall MSVC functions from a __cdecl CVI function. As a workaround
    > wrap the _cdecl call inside a _stdcall call that is exposed or
    > exported to TestStand or vice-versa. This can be a problem because if
    > _cdecl is used, the calling function is responsible for cleaning up
    > the stack and if _stdcall is used, the called function is responsible
    > for cleaning up the stack.
    I was under the impression that as long as everything was explicitly and
    consistently declared, you could safely mix cdecl and stdcall f
    unction
    calls. Is it bad to do this? Is this a known issue with the CVI compiler?
    I've never seen a problem with doing this under MSVC++.
    I'll try wrapping them in cdecl calls for CVI - though we have a
    depressingly large number of stdcall functions in the MSVC DLL ;-). They
    need to remain stdcall in the DLL because we also call them from Visual
    Basic.
    > 2.Don't mix Debug version of one DLL with the Release version of the
    > other DLL. I had some bad experiences doing this and both DLLs where
    > developed in MSVC. Allways use either Debug either Release versions of
    > DLLs.
    I verified that the MSVC DLLs were either ALL Debug or Release. I too have
    seen nasty problems when MSVC Debug and Release is mixed.
    One thing I had not thought of until your reply: What about mixing CVI Debug
    DLLs with MSVC Release DLLs? Have you ever seen issues with doing this?
    Thanks!
    Joe

  • EvaluatingTteststand 4.2.1: Null pointer access violation (error 17502) when attempting to use a mixed-mode std::map / boost shared_ptr class contained in a DLL through an interface from a different DLL

    Hi there.
    I have been working on a test system which will potentially have TestStand at its core, and downloaded/installed the 4.2.1 evaluation. Current details from the information dialog are:
    TestStand Engine version 4.2.1 (4.2.1.83)
    Sequence Editor Verison 4.2.1.83
    The system will drive mobile radio devices using RS232 serial interfaces, usnig a variety of serial protocols (Hayes, and a couple of proprietary binary protocols for other work).
    We already have in existence a soak tester, written in VS2005 with MFC unmanaged DLLs and also managed DLLs, which are mixed up together to provide different aspects of the functionality required for the binary protocols.
    I have created:
    1. a "master wrapper" DLL for the constellation of other DLLs - this offers up a simple C-API interface which I hope TestStand will use. It's called "SerialSessionMgr.dll""
    2. a mixed managed / unmanaged "IJW" (it just works) DLL which wraps up the binary logging protocol control interfaces, which are entirely in managed C++/CLI: the "master wrapper" DLL calls into this through an unmanaged interface to create instances of the CLI-compiled class which interfaces to the underlying managed DLLs imlpementing the logging protocol. This is called "WinTseInterface.dll".
    Before I started evaluating TestStand, I knocked up a test harness using CPPUnit / MFC, with which I was able to test SerialSessionMgr.dll and its' use of WinTseInterface.dll and verify they worked. The harness loads the DLL dynamically at run-time using AfxLoadLibrary() to try to emulate the way TestStand uses it.
    When we open a
    TSE session:
    The SerialSessionManager makes a call to the
    WinTseInterface.dll to "create" a logging instance. The instance is
    created in a std::map which is held by the CWinApp derived class, this map
    contains boost::shared_ptr of the class which works with a managed class. So we
    have a call trace: Client
    app->SerialSessionManager{TseStartSession()}->WinTseInterface{WINTSE_GetWinTseBridge()} - WINTSE_GetWinTseBridge()
    just creates a new instance of the unmanaged class which interfaces through to
    the managed CLI/C++ class beneath, and returns the address to the
    SerialSessionManager, which stores it.
    The SerialSessioManager actually initialises the WinTseBridge using a method of a C++ pure virtual interface class to the class in the std::map in the WinTseInterface DLL
    implements. The initialise call passes miscellaneous details and actually calls
    "gcnew" to create the managed class which interfaces to the
    underlying managed DLLs which implement the logging protocol.
    My logs of the DLL loading as seen in VS2005 debug output are attached this message as PDFs
    While trying to fix this, I have tried:
    Enhancing the WinTseInterface DLL so it manually loads all the other assemblies in the logging system, including the managed portion of WinTseInterface itself (no effect)
    All the different options for the way the C DLL adapter loads and unloads the DLL in the DLL adapter steptype in TestStand
    I've even tried calling directly into the WinTseInterface DLL before trying any SerialSessionManager DLL calls to try to load the WinTseInterface DLL completely beforehand
    and I cannot stop this exception.
    It seems like the object is created in the WinTseInterface DLL OK (I have debugged the creation step which runs for WINTSE_GetWinTseBridge() and the object is created OK) when the SerialSessionManager makes the call, but when it calls the first managed function, which creates the managed object, the DLL is reloaded as managed - I suspect this causes the object to be destroyed or overwritten, and thus the call to initialise bombs with null pointer violation.
    Have I done something obviously wrong, and what other approaches can I take? 
    Does TestStand 4.2.1 have issues with driving DLLs which use managed/unmanaged DLLs beneath them?
    My nuclear option is to throw the WinTseInterface DLL out completely and wrap up the managed C++ CLI code in a new interface, entirely managed, and use the TestStand ".Net" adaptor to drive that, creating my step library to run to that directly. This isn't ideal as I have some co-ordination of the protocols which is implemented in the SerialSessionMgr DLL.
    I hope someone can help. This one's low level, dirty and a stumper to me.
    Many thanks to the NI community. This is my first posting!
    Solved!
    Go to Solution.
    Attachments:
    CPPUnit Test Harness DLL load debug output.pdf ‏18 KB
    TestStand DLL load & crash debug output.pdf ‏43 KB

    Hi there Ray.
    First - many thanks for engaging with this thorny problem. Love the avatar BTW.
    I've been using the C/C++ DLL adapter: the original premise of the Serial Session Manager DLL was to provide a simple C type functional interface, using simple data types, so that TestStand would be able to drive the underlying functionality easily through a single DLL.
    Seeing as you've been kind enough to respond, I should explain the makeup of the DLLs a little more, I think.
    The SerialSessionManager (SSMgr) DLL uses C++ and MFC internally. This is the DLL which TestStand calls into directly through the C/C++ adapter. This DLL does have one odd feature though - because the it uses the Windows Multimedia Timer (implemented in WinMM.dll) I had to artificially create a scenario where it would load the .Net mscoree DLL _before_ it loads WinMM.dll - (http://connect.microsoft.com/VisualStudio/feedback/details/329819/freelibrary-in-the-winmm-dlls-modu...), basically WinMM.dll's init code gets rather upset when .Net DLLs load, which causes the entire executable to be unloaded with subsequent crashes.
    To work around this crash, the SSMgr has a single, completely empty, file which is compiled for CLR, effectively forcing a dependency into the DLL on the .Net subsystems and turning the DLL into a "IJW" binary. The resulting DLL doesn't actually have any executable managed .Net assemblies, but I'm guessing that it does contain enough .Net related stubs and information that when the DLL is loaded, mscoree.dll loads before WinMM.dll - and this means the system doesn't crash.
    Now, on to the WinTseInterface DLL. My initial description of this little software system was done in something of a hurry.
    This DLL is the C++/CLI "IJW" DLL which actually contains managed and unmanaged code. Underneath the WinTseInterface DLL is another system of (this time exclusively C++/CLI) DLL assemblies which implement the TSE protocol interpretation system.
    When the SSMgr DLL needs to start a TSE protocol session, it calls a C-API function in the WinTseInterface which creates a new CWinTseBridge class. Here's the steps in a little more detail:
    SSMgr DLL calls WINTSE_GetWinTseBridge(), passing in the name of the device which needs it (this is used to put the new WinTseBridge into a std::map in the WinTseInterface DLL) - this call runs just fine, and returns the address of the CWinTseBridge C++ object. This is stored in the SSMgr, because the CWinTseBridge class implements a pure virtual interface which is used by the SSMgr as a way of accessing the CWinTseBridge methods. 
    We now use the address from (1) to make a call to CWinTseBridge::Initialise(), passing some basic configuration details.
    I've run VS2005 debug on the Sequence Editor when running the test, and done F11 step-throughs of the code loading each parameter in the Initialise() call onto the stack, and what appears to happen is that when the call is made, the whole lot steps off into oblivion (a reference to 0x00000000 is made, I think).
    Do you think it's worth trying to get this approach to work? It would be useful to retain the control surface in the top of the SSMgr as there is co-ordination of the protocols within the logic of that component. If I move the Wintse control out into a separate managed DLL I may not have that co-ordination (this might be overcome with some design, as I've confirmed that it is possible to "reach into" the WinTseInterface DLL with TestStand and create and use managed objects from assemblies contained within).
    Are there any known issues with this version of TestStand using C/C++ CLI IJW DLLs? I haven't found much out there on the web.
    Attachments:
    Tse_Test.seq ‏7 KB

  • Is it possible to step into a CVI dll when called by TestStand?

    As the question says: "Is it possible to step into a CVI dll when called by TestStand?"
    I am sure Ray F. may have a few tricks up his sleeves...  Hope you see this post, Ray!
    I compiled a dll using CVI.  The dll is called as a test by TestStand.
    I do have an "exe" version of the code that I use for debug with a testbed, but the behaviour is not the same as testing the actual target while running TestStand.  My goal is to get as close as possible to the real events.
    Thanks,
    JLV

    Sorry about that,
    There are two ways as I was saying:
    1. You can configure the CVI adapter to Execute Steps in a External Instance of CVI (requires CVI 6.0 or greater).
    Only go to Configure->Adapters and select the LabWindows CVI adapter and click on configure and select the corresponding option.
    After that set a break point in the step that you want to debug.
    An external instance of CVI will be launched where you can set break points and step into the code.
    2. From CVI Specifying an external process:
    In CVI go to Run Specify External Process and enter the seqEdit.exe as the program name (you have to browse to the location <TestStand>\Bin\SeqEdit.exe).
    As the argument you enter the name of the sequence file you want to debug.
    Now just select Run->Debug SeqEdit.Exe
    The Sequence Edtior will be launched and you can set break point in your CVI code and step into it when the step is executed.
    Check the Using LabWindows/CVI with TestStand reference manual for more information.
    I hope it helps you to get started.
    Regards.

  • How can I make a backup from my Macbook Pro?

    How can I make a backup from my Macbook Pro?

    Basic Backup
    For some people Time Machine will be more than adequate. Time Machine is part of OS X. There are two components:
    1. A Time Machine preferences panel as part of System Preferences;
    2. A Time Machine application located in the Applications folder. It is
         used to manage backups and to restore backups. Time Machine
         requires a backup drive that is at least twice the capacity of the
         drive being backed up.
    See Mac Basics- Time Machine. Please visit Pondini's Time Machine FAQ for help with all things Time Machine.
    Alternatively, get an external drive at least equal in size to the internal hard drive and make (and maintain) a bootable clone/backup. You can make a bootable clone using the Restore option of Disk Utility. You can also make and maintain clones with good backup software. My personal recommendations are (order is not significant):
      1. Carbon Copy Cloner
      2. Get Backup
      3. Deja Vu
      4. SuperDuper!
      5. Synk Pro
      6. Tri-Backup
    Visit The XLab FAQs and read the FAQ on backup and restore.  Also read How to Back Up and Restore Your Files. For help with using Time Machine visit Pondini's Time Machine FAQ for help with all things Time Machine.
    Although you can buy a complete external drive system, you can also put one together if you are so inclined.  It's relatively easy and only requires a Phillips head screwdriver (typically.)  You can purchase hard drives separately.  This gives you an opportunity to shop for the best prices on a hard drive of your choice.  Reliable brands include Seagate, Hitachi, Western Digital, Toshiba, and Fujitsu.  You can find reviews and benchmarks on many drives at Storage Review.
    Enclosures for FireWire and USB are readily available.  You can find only FireWire enclosures, only USB enclosures, and enclosures that feature multiple ports.  I would stress getting enclosures that use the Oxford chipsets especially for Firewire drives (911, 921, 922, for example.)  You can find enclosures at places such as;
      1. Cool Drives
      2. OWC
      3. WiebeTech
      4. Firewire Direct
      5. California Drives
      6. NewEgg
    All you need do is remove a case cover, mount the hard drive in the enclosure and connect the cables, then re-attach the case cover.  Usually the only tool required is a small or medium Phillips screwdriver.

  • Make an iView from MDM Web Dynpro Component

    Hello!
    I have read documentation about configuration of MDM WD Component.
    What I have found - MDM WD Components are used as standalone application and inside BPM.
    But what about iView?
    How to make an iVIew from MDM WD Component and to link it with Configration? Is it possible to use Application Parameters property?

    I have experimenting with MDM WD Components and what I have found that my approach don't work
    It is not possible to work with MDM WD Components like old MDM Portal Content because there is no client events.
    But is possible to create WD application wrapper for each layout (portal page) and configure it by iView property - Application parameters.
    For example wrapper for layout - Search panel on the left, another search panel, result set and item details on the right.
    I have a question for all:
    What doy you think is there a need to request SAP to include such wrappers into SCA file with MDM WD Components?

  • Why is the Insert Panel Missing from Dw CS6 Build 12 v 5861?

    Why is the Insert Panel Missing from Dw CS6 Build 12 v 5861?

    If Nancy's advice doesn't make it pop up as a window, you may have it set as a tool bar, in which case, hitting Ctrl+F2 will make the tool bar appear/disappear.
    To turn it back into a floating panel, click and drag the dashed line on the far left of the Insert tool bar and pull it away from the top. You can leave it as free floating or drag it to another edge until it highlights the edge and drop it to dock it to whichever side of the screen you prefer.

  • How to load views in an MVC 5 project from a referenced DLL

    I wish to compile some controllers, models and views into a single assembly and then include it in mvc projects as needed.
    I initially tried using a class library and packaging EF6, MVC etc into the library, but the project that referenced library was unable to find and serve the views.
    I tried to write a Virtual Path Provider (using this example), but if each view does not have a unique name (eg. Index in various subfolders) then I get
    an error:
    "resource name cannot be used more than once".
    Another complication of this seems to be that even if I can get the VPP to serve the file (through treachery and deceit), the application complains:
    "'ModelType' is not declared. It may be inaccessible due to its protection level."
    If I try to inherit from System.Web.Mvc.WebViewPage, as reccommended in the example linked above, I get an error:
    "The 'inherits' keyword is not allowed when a 'ModelType' keyword is used."
    It seems that it is a 'close but not quite' scenario.
    I would really prefer to NOT embed the views as resources anyway.  According to
    this post I should be able to create the dlls as MVC projects themselves and then include them in other projects (Full-Fat MVC Project).  It is claimed:
    "if you follow this approach you can use the routes, controllers and views as if they were part of the main web app."
    However, when I tried this I wasn't able to get the view engine to look into the dlls.
    How can I make the view engine see the dll and the pathed views within it?

    I would recommend posting your question to the MVC sub forum under ASP.NET:
    http://forums.asp.net/1146.aspx/1?MVC
    Paul ~~~~ Microsoft MVP (Visual Basic)

  • Conversion of an Instrument Driver from LabWindows/CVI to LabVIEW

    Hello All,
    Conversion of an Instrument Driver from LabWindows/CVI to LabVIEW
    http://zone.ni.com/devzone/conceptd.nsf/webmain/9A93316BEBEDB17786256FA300675A0A 
    But I can not find any hyperlinkt to download
    "LabVIEW Interface Generator for LabWindows/CVI Instrument Drivers"
    Is there any evaluation version for downloading?
    Thanks,
    nonomiya

    So strange,
    I go through three pages but does not find any entry for download,
    hmm...,
    1. After press the hyperlink,
    See Also:
    LabVIEW Interface Generator for LabWindows/CVI Instrument Drivers
    2. and for a resuest info. form.
    3. press download..
    ====
    LabVIEW Interface Generator for LabWindows/CVI Instrument Drivers
    System Requirements
    NI LabVIEW 7.1 or later
    Windows 2000/NT/XP
    Use the LabVIEW Interface Generator for LabWindows/CVI Instrument Drivers to create LabVIEW VIs for VXIplug&play and IVI-C instrument drivers from function panel (.fp) files.
    Instrument Driver Network
    Before using the conversion utility to create a new instrument driver wrapper, please visit ni.com/idnet to see if a LabVIEW Plug and Play instrument driver is available for your device. The Instrument Driver Network (IDNET) provides support for more than 3,000 different instrument models from over 170 different instrument vendors.
    Recommendations
    This utility was created for developers of C-based instrument drivers who wish to provide a LabVIEW interface, but do not develop a LabVIEW Plug and Play driver. By developing the C and LabVIEW interfaces together, it keeps the components synchronized, and eliminates the need for customers to create their own LabVIEW interfaces. Vendors should distribute the LabVIEW wrapper files with the associated VXIplug&play or IVI instrument driver, so that end users do not have to visit multiple web sites to download the complete driver.
    If you are not an instrument vendor, we recommend that you use this utility only if you have instrument driver expertise. Access to the instrument driver source code is preferred, in case you need to edit the C instrument driver in LabWindows/CVI.
    After generation, the wrapper VIs should be tested with the instrument.
    Instructions
    Once you install the software, simply access the utility from the Tools>>Instrumentation>>Import CVI Instrument Driver...menu in LabVIEW. This software replaces the built-in tool and provides feature enhancements.
    For additional information on this utility, view the resources below.
    Readme for the LabVIEW Interface Generator for LabWindows/CVI Instrument Drivers
    Submit your Driver
    Visit the Instrument Driver Network
    nonomiya

Maybe you are looking for

  • Credit management - one customer for two company, different credit limit

    hi, customer A in company 1000 and 2000. for example the total credit limit is $10000 for these two companies, customer A with individual limit 6000 in company 1000 and 4000 in company 2000. If i create sales order 1 with value is $7000, then message

  • Mavericks and FCP 5.1

    Anyone using Final Cut Pro 5.1 upgrade to Mavericks (10.9) and have things work/not work? Thanks for any anecdotes. (Please, no snark about running such an "old version" as 5.1 - heard it all before.)

  • How can I backup an external hard drive using Time Machine?

    How can I backup an external hard drive connected to my MacBook Pro using Time Machine?

  • Playback  randomly pauses or stops by itself????

    Whenever I try to listen to my itunes library on my IMAC, the songs will randomly momentarily pause, or stop playing; but will resume playing 2-3 seconds after this happens. my library is on an external hard drive, and I have the most current version

  • Ad Radio/ Check button in Select Dropdown

    How can I add Radio/ Check button option in a select option with a size value. What I am trying to accomplish is to output all the selected list with a checked option button to it so that Users can check and uncheck it ,See code below. Is there a sim