Limit Front Panel Bounds programmably

Hi,
   My front panel contains a picture control that fills the panel. I allow the user to resize the window and also apply zoom factors to it. At times, I have to limit the panel size to prevent the panel from being larger than the drawing area of the picture. This is easy to do when the zoom factor is changed, but I'm having trouble finding a good solution when the user reszes the panel.
   Currently I am using the "Panel Resize" event to detect when the panel size has changed and if it is too big I use a property node to reset the front panel bounds. This works but is not ideal. Since this is not a filtered event, I can only fix it after it has been moved which means the user can see the front panel background momentarily before I can properly set the size.
  Is there a more elegant way to accomplish this task?
  Ideally, I'd like to programmably set a limit on the maximum front panel size such that as the user resizes then panel, it just stops at that limit.
Thanks in advance,
steve
LV 8.2 but soon 8.5
Help the forum when you get help. Click the "Solution?" icon on the reply that answers your
question. Give "Kudos" to replies that help.

Thanks for the responses so far,
Here are some examples to better illustrate the issue.
The first  one (res_win)  shows the default behavior with the picture set to fill the panel and to Scale object with pane. The picture control displays a circle that fills the front panel. When you drag the right side of the front panel, first you see some of the background, then the picture is resized and the background is covered.  This is sort of ugly imho plus I only want the customer to see the circle, not the empty space next to it.
The second example (res_win1) uses the Panel Resize event to check for and limit the front panel size, but it still shows the background momentarily which I don't like.
Thanks again,
steve
LV 8.2.1
Help the forum when you get help. Click the "Solution?" icon on the reply that answers your
question. Give "Kudos" to replies that help.
Attachments:
res_win.vi ‏21 KB
res_win1.vi ‏36 KB

Similar Messages

  • Front Panel bounds on secondary monitor

    Hello!
    I would like to display some elements of the front panel on the primary and others on a secondary monitor. So I decided to make a subvi from the elements I wanted to show on the secondary display.
    It nearly works, but I would like to have fullscreen on both of the monitors. Unfortunately if I change front panel bounds to be written in the attached subvi, it shows up on the primary monitor. If I leave front panel bounds to be read it works with the secondary monitor.
    Could you give me some advices how to solve the problem?
    Thanks!
    Attachments:
    subvi.vi ‏15 KB

    Dear VampireEmpire,
    One way you can do it is to create 2 SubVIs (each with the specific indicators etc, then set the Window Appearence of those VIs Custom, and check "Show Front panel when called"
    If you are in a VI, press Ctrl+I, or right click on the icon of the VI on the front panels upper right corner, get VI Properties and navigate to Window Appearence.
    In each of these VIs use the Invoke Node : 
    VI Server Reference (This VI), --> Invoke Node --> Front Panel --> Run-Time Position --> Maximized, and wire monitor number 1 to the primary and 2 for the secondary. Use for example a while loop, and if you want to terminate only one of the VIs at Run-Time, remember to Close the Front Panel (Invoke Node), and the reference.
    Then create a 3rd, VI, call it a wrapper, and insert the two VIs to be called. When you run this wrapper, you programatically call the other two VIs front panels.
    I have created a little example how to do it. Please find the attachment and tell me your experiences. 
    A more sophisticated way to do it would be to programatically open the references from the main.vi, and Open --> Run Time.maximize in a while loop --> Close the front panel in the caller.
    https://decibel.ni.com/content/docs/DOC-29472
    Best regards,
    Peter L.
    National Instruments Hungary
    Applications Engineer
    Attachments:
    MONITOR.zip ‏18 KB

  • Front Panel Position Confusion

    In my program I have multiple wavefrom charts; I would like to call a reentrant subvi, ie small dialog window, that "pops up" over each chart, see attached picture.
    I would like to dynamically set the position of the dialog window to match that of the waveform chart. However, I am having great difficulty in making any sense of the position, front panel bounds, chart position property nodes. I thought if I set the front panel position in my dialog window to the plot position, the top left hand corners would align. However, that is not working for me.
    Any help would be appreciated.
    Cheers,
    Andrew
    Solved!
    Go to Solution.
    Attachments:
    Snap1.png ‏23 KB

    I'm attaching 2 VIs that I hope will help, if I've understood what you want.  It's extremely sloppy and incomplete but the idea is right.  You click on the chart and some text pops up at the top left corner of the chart, regardless of where the chart window is on the screen.
    The position of the chart within the panel will not change when the window moves, because the position of the chart is relative to the window that contains it.  So, you can use the chart position as an offset from the window position to find the position of the chart in real coordinates, which you then use as the position of your pop-up.
    Attachments:
    Text Pop-up.vi ‏10 KB
    Chart with Pop-up.vi ‏22 KB

  • My front panel blanks while I use the panel bounds property

    When I execute the PanelBounds property of the front panel, the panel seems to blank for a brief moment allowing me to see the desktop and then reappears.  I am wondering how to prevent this behavior or approach the problem in a different way.  Any ideas?
    Solved!
    Go to Solution.
    Attachments:
    fp_blanking.jpg ‏56 KB

    Here is a demo version that demonstrates my issue.
    Open the dummy user interface (UI.vi) and the main program (Main.vi).  Run Main.vi.  See how the UI flashes when changing areas of interest.  I can see the desktop during the transition since the front panel blanks.
    Tip:  Close the front panel with Alt-F4 since it will be full screen.
    Attachments:
    demo2.zip ‏33 KB

  • LabVIEW error code3: Could not load front panel.

    Hi 
    I am getting second time the "LabVIEW error code3: Could not load front panel." when working with the development environment of LabVIEW 2009 SP1.
    It is really annoying as I loose time as I have to revert to saved previously code. 
    Does anybody know where it may be coming from and how to avoid it?
    Thanks
    Pawel
    Solved!
    Go to Solution.

    Pawel,
    the panel has an origin which you can see in your VI:
    Every element will be placed in a position in regard to this origin:
    The position has a limit in regard to the bound. I am not sure about the value, but it should be around -35k...35k (or the double of it)....
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Front Panel Mass Binding Project Variables Issue

    Hello -
    When attempting to bind controls to shared variables through the front panel mass binding option, there is an issue where you can not seem to bind a "project item" to the control. The method of binding I am using is to export a text list of control names, urls, mode, and function to a text editor utilizing the front panel binding mass configuration options.  The text editor shows, in the fourth column, a "0" for no function, a "1" for network item, and a "2" for project item. when attempting to import the list back into the front panel binding mass configuration, all "2" indications become "1", as all items are treated as network. Thus one can not effectively bind to a project shared variable item.
    The binding works fine manually by means of utilizing the properties selection of the control, but it is difficult to do this for 821 controls, as in my application.
    My application is based on a OPC served group of 821 variables which are linked to controls and indicators through the shared variable representation for each item created in the multiple variable editor.
    Does anyone have a work around for this issue, as it is a showstopper right now, ie, you can not effectively bind a large quantity of controls or indicators to project located shared variables as required.
    The rationale behind utilizing project located variables instead of network located variables is to reduce the amount of calls to the OPC server which was causnig a large latency in the refresh of the 821 items. With the items defined as shared variables within the project, a single call is issued, which has tremendously sped up the refresh cycle for the list of variables.
    Thank you in advance for your insight in this matter,
    John DeCroos

    Hello Brian A.,
    In response to you comment --
    "in 2006, and John did not follow up with any more information for Efosa"
     -- a great deal of information was provided to NI (Efosa and many, many others, up to the product manager for the DCS module). I have never heard back on a fix for this bug for the identified version of LabVIEW. The reply by Efosa here was well after we had shipped our product -- (please see date + Efosa's apology) -- we had found our own solution as is identified in the original post.
    My solution was, as is also indicated in my original post, to manually bind each variable. This was unbelievably time consuming, but was all I had.
    The version of software I am now working on uses far less variables, manually bound to avoid the multiple binding issue we had in the past.
    I have checked the mass binding function in LV 8.5.1, it works fine now. I guess it would have been nice to have had a reply that the bug had been resolved ---- would have helped me out a bit.
    Thank you,
    John DeCroos

  • Open and close front panel

    Hi,
    I wish to have a VI that works as a main menu from which you start new
    VI's depending on your choice. When the new VI start I want the main
    menu to hide it's front panel temporarily until it the second VI
    returns.
    Anyone has a solution to this?
    /Nimrod
    Sent via Deja.com http://www.deja.com/
    Before you buy.

    [email protected] wrote:
    When the new VI start I want the main menu to hide it's front panel temporarily
    until it the second VI returns.
    If you are using LabVIEW 5.1, you can use the VI server attributes to hide
    the VI by moving it off of the desktop. I will send you a sample in private
    mail.
    The attribute (property) you need to use is Front Panel Window -> Window
    Bounds.
    Set it to something that is larger than your window size, like 2000, 2000,
    2200, 2200.
    I hope that this helps,
    Bob Young
    Bob Young - Test Engineer - Lapsed Certified LabVIEW Developer
    DISTek Integration, Inc. - NI Alliance Member
    mailto:[email protected]

  • Using Shared Variables and Initialize Front Panel Binding (to PSP)

    Hi,
    I use LV DSC RT 8.2.1
    I have a Vacuum System That includes signals from - Pumps failure, Valves status, Vacuum gauge, start Pump ...
    Each signal is read by a FieldPoint. 
    All the relevant FieldPoint Channels are read by the Server (a computer in the Ethernet Network) and published to the network in the form of Shared Variables.
    I have a client VI that is reading the Shared Variables published by the Server using Front Panel Binding.
    Problem : 
    Some of the Bindings are in the mode 'Write &Read' and that causes some initialization problems.
    For example - Valve #1 is Open, and then a User start running the Client VI, (the Valve #1 Status mode is 'Write & Read")
                           if in the VI the status of Valve #1 is closed (before running it) then the Valve status is changing to Closed.
    I want the Client VI to first read the Physical status of the instrument and then to change the Value if the User changes it.
    But that's seems to be a problem when using Front Panel Binding... (is it?)
    I know I can Deploy a lvlib in the Client Side and Item Bind to the Shared Variables or Use DataSocket.
    (Is DataSocket is a Reliable method when connecting to Shared Variables? What are the disadvantages when using DataSocket?) 
    What is recommended by those of you that are experienced or by NI ?
    Sincerely Yours,
    Amitai Abramson.

    Amitai Abramson,
    Hello and thanks for using the NI Forums.
    I'm glad that you've read the Using the LabVIEW Shared Variable Tutorial on our website. Check out these other resources:
    Network Variable Technical Overview
    Troubleshooting Network-Published Shared Variables
    Why Do I See Unexpected Value Change Events for Shared Variables Using LabVIEW DSC?
    All You Need to Know About Shared Variables
    Creating a Value Change Event for Shared Variables
    Alternative Method for Using Shared Variables Between Systems in LabVIEW 8.x
    What Is The Difference Between Using Shared Variables And DataSocket VIs To Access OPC Tags?
    The issue that you are seeing by having "Write & Read" bound items on both the server and client side is essentially a race condition, you don't know which one is being read/written at what time. To resolve this issue I would take a look at some of the documents below.
    Using a Local, Global, or Shared Variable in Parallel Loops Can Cause Race Conditions
    Using Local and Global Variables Carefully
    Tutorial: Local Variable, Global Variable, and Race Conditions
    Locking a Shared Resource or Variable in LabVIEW Using Semaphores
    You mentioned not wanting to have two sets of shared variables (one on each side), but this is a great method to resovle this issue, that, or you can develope some sort of hand shaking to prevent these race conditions.
    I would suggest that in the future when using these forums you try to ask only one question per thread and make it more concise. It's hard to tackle multiple questions and such broad questions as "I want to know all the ways that I can connect to Shared Variables, and I want to know the advantages and disadvantages." I suggest this because we want you to get your questions answered and more concise questions will result in quicker and better answers. 
    Message Edited by Ben S on 10-01-2009 06:05 PM
    Ben Sisney
    FlexRIO V&V Engineer
    National Instruments

  • Q:How to trim a VI's front panel at runtime?

    The occupied front panel space can be obtained by calling
    "GetPanelImage" via an invoke node. The resulting cluster "bounds"
    describes the union of all front panel objects. The front panel can then
    be resized to fit these bounds. The content of the front panel can be
    repositioned by manipulating "FrontPanelWindow.Origin". This "...Origin"
    points with an _unknown_ _offset_ (which varies with the FP´s layout) to
    the upper left corner of the front panel content.
    How to exactly calculate the origin from other front panel values?
    Thanks,
    TC

    You can use a VI Server to position the front panel of your subVI. Look at the Ghost in the Machine.vi example that ships with LabView.
    To see where to position the subVI, you need to know the position of the calling VI or of something on it. You could use a property node of the Get Details button.
    1. On the front panel on Panel.vi, right-click on Get Details and select Create >> Property Node
    2. Right-click on the Property Node and select Properties >> Position >> Left.
    3. Point to the bottom edge of the property node and pull it down to add another element. That element should default to Top.
    That will give you the coordinates of the Get Details button. Now use a VI server (based on Ghost in the Machine.vi) to place the subVI front panel the desired distance
    from the Get Details button.

  • An alert messarge i don't underdant: insane object at BDHP + 83ACC in "VI name's":{graphics} (0x80):Front Panel Terminal (Term)

    Hello!
    I don't know why in just yesterday appear in one of my VI an alert message or error message when i want to close oer save the VI.
    The message is like the following one:
    Insane object at BDHP + 93ACC in "Vi name's": {graphics} (0x80}: Front Panel Terminal   (Term)
    I don't know why now it appears this message because i have no modify the Vi.
    I want to ask you why it appears this message and the most important......how can i solve it?
    Thank you very much
    Larson

    Hi!!! I copy and paste from an NI engineer post asking about what is the "insane object" problem:
    This message means that an object in LabVIEW such as a wire or a loop tunnel does not pass an internal test known as a sanity check. If the errors are serious enough, LabVIEW exits because something has become very corrupted. Sanity checks occur before each save, to ensure that corrupted VIs are not written over good VIs. They also happen as part of the compile process. Thus, sanity checks happen frequently. Many insanities are actually fixed (made sane) after the dialog box appears and will not appear again, so the first thing you should do after receiving an insane object error is to try to make a backup copy of the VI, run it, and perform some additional editing to see if the problem was resolved automatically.
    VI corruptions do not happen often. They can happen because of disk corruption, but this will often lead to a file that can no longer be loaded. Corruptions can also happen because the programmer did something that corrupts a LabVIEW data type, perhaps as the result of a call to external code. The following are examples of insane object errors:
    Insane Object at BDHP+4D50 in 'sksks.vi': (graphics) (0x80):wire segment (WIRE)
    Insane Object at BDHP+5CA0 in "CAPL3.vi": (graphics) (0x80):loop tunnel (DCO)
    In the first example above, the error message itself gives information about which object is insane. BDHP means the offending object exists on the block diagram heap, as opposed to the FPHP for front panel heap. The +4D50 is the hex offset in the heap where the object is located. The "Wire Segment" text indicates that the object is a wire object. The "graphics" text indicates that the insanity is graphics-related, which means it is not serious and will most likely be repaired automatically.
    The second message above is similar, but refers to a loop tunnel (i.e., the tunnel formed where a wire crosses the edge of a loop) rather than a wire.
    Solution: If you receive an insane object message, it is best to delete and recreate the most recently created objects on either the front panel or block diagram, depending on whether the error message contains "FPHP" or "BDHP". Make use of the text in the error message in deciding which objects to rebuild. In the case of the second message above, it would be best to delete and recreate the most recently created loop tunnels.
    Another workaround that works best if the VI is small is to select the entire diagram and copy it to a new VI. After saving the new VI, there is a good chance the insane object error will no longer appear. If the VI is too large to cut and paste to a new VI and another computer with an identical version of LabVIEW is available, you can copy the VI to disk (or to your network if that is available) and open it on the second machine. If the insane object errors do not appear, save the VI (on the second machine) and transfer it back to the original PC (by disk or by network). The new, uncorrupted version of the VI should now run without generating the insane object error.
    Hope that helps you,
    Jaime
    Regards,
    Jaime Cabrera
    NI Applications Engineering Spain

  • Opening multiple sub VIs (front panels) in an application

    Hi, 
    I am working on a small process control application. The main VI represents a layout of various equipment (pumps, valves, heat exchangers). Each TYPE of equipment
    can be turned on/off through a particular subVI. The subVI is displayed when the operator clicks on the component.  At the moment only one subVI front panel can be loaded. I would like to have multiple panels open at the same time; this to include multiple instances of a same VI and different subVIs.
    I have tried to set properties in the WindowsApperance dialog box but cannot acheive the desired operation. 
    Any suggestions?
    Thanks

    Trust my personal experience: You do NOT want multiple dialog windows open.  The users will hate you and curse your name if you do.  You really want to use subpanels and limit what the user can do.  Subpanels are a way of inserting a VI's front panel into another VI's front panel.  So you want to have a section of your main front panel that the user can load whatever control subVI they need.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How to change the font and type in the front panel

    Can you tell me how to change the font and type in the front panel if i want to make it looks more beautiful.
    1110340040

    Hi there,
    You can change the font size and type as shown below:
    - Ee Lim -
    See that button on the left side of this post...
    If you feel my post is helpful, all you need is just (at most) 2 seconds to click that button, to show your appreciation. Thank you~~

  • Bug? Right-click on Front Panel causes selection rectangle!

    Originally posted on LAVA: http://lavag.org/topic/12097-right-click-on-front-panel-causes-selection-rectangle/. This post contains an updated description of the problem.
    Anytime I right-click on a control on the FP, and dismiss the context menu, I get a selection rectangle. If I don't catch it, moving outside the bounds of the FP will cause the FP to scroll to continue my unwanted "selection". So far this has been repeatable every time.
    I noticed that the problem doesn't occur on the Controls pallette, only the context menu for controls. Also, if I mouse over the context menu before dismissing it, the problem doesn't occur. If I select an item from the context menu (which also dismisses it), the problem doesn't occur.
    I am running LabVIEW 8.6.1f1 on Windows XP Home SP3.
    -Ian
    Solved!
    Go to Solution.

    I once worked in a lab which contained a transformer with its incessant 120 Hz hum.  Just when I could tune it out someone would say "What's that hum?" and then it would annoy me again.  Similar story in a different lab which had a cooling water drain.  Just when I get used to the sound, someone would bring it up.
    This behavior has p#$#ed me of on numerous occasions and I am mostly used to it by now.   At home I use a track ball mouse which covers a lot of real estate in a hurry so of course I am often scrolling a FP into never-never land.  Now you bring it up and I am having flashbacks... (Thanks really, it is time to get this fixed)
    I have learned to spot the little circle in the crosshair cursor.  When it is missing, you are in selection mode.

  • How to place event callback components and "main-VI" components in the same Front Panel?

    What I'm trying to accomplish:
    Place a .NET component, which generates events, and other standard LabVIEW components in the same Front Panel. The standard LabVIEW components should be updated when events are being generated in the .NET component.
    How I tried to solve it:
    Problem:
    The event callback code must reside in a separate event callback VI. In order to "pass the event up" to the main VI I tried to use a global variable. The interrupt does occur:
    but I was hoping that the string indicator would be updated when the event occurred, but it wasn't.
    Questions:
    What's the best way to solve what I try to accomplish? If I want to solve the problem on the picture above, how would I do it (it may not be the best solution, but I'm still curious what's wrong)? Please feel free to be over-explicit when replying as I am novice LabVIEW programmer. Thanks in advance for any help.

    There are two bundle functions for creating clusters. The function simply called Bundle operates almost exactly like the Build Array function I showed. The type of the output cluster depends on whatever you wire in as inputs. You don't have to supply a specific type parameter.
    The function called Bundle by Name takes in a specific type of cluster in the top input and allows you to fill in the values of that specific type of cluster. To create the specific type of cluster you want, you need to create a cluster of string references. Here's how to do that:
    Go to the Front panel and drop down an empty cluster shell.
    Go to the Refnum palette and drop down a Generic Control Refnum. Now here's a cool trick to turn that generic refnum into a string-specific refnum (a so-called strictly-typed refnum). Grab a string from the controls palette and drag it into the Generic Control Refnum. Once you drop it, you'll see the refnum change its icon to display a string picture.
    Make copies of this string refnum (as many as you need) and add it to the cluster shell.
    Now, if you're making specific types of clusters to work with, now is the absolute best time to learn about typedefs if you haven't already. It will save you hours and hours (if not days) of development time in the future. Trust me!
    Jarrod S.
    National Instruments

  • VI locks up when front panel is displayed

    Hi
    Firstly, I apologise if I’ve sent this to the wrong forum – I’m not sure if this is a TestStand or Labview related issue or possibly both.
    I have a test procedure developed using Labview 7.1 and TestStand 3.1. It’s run from TestStand’s Operator Interface VI (full version), and executes about a dozen TestStand sequences in turn which call lower level VIs that perform the actual tests.
    The code was written on a Dell GX240 Pentium 4 PC, with Windows 2000 + SP4 installed and runs without a hitch. However, I also have a second PC, same model & spec, but running Windows XP + SP3 instead of Win2K. I’ve also installed the same versions of Labview & TestStand on it, and copied across all my TestStand sequences & VIs into the same working directory. However, when I run the program on this machine, again using the same Operator Interface, it executes until about half way through and then hangs up.
    In several tests, I call up a graphical user interface VI which displays a picture and prompts the operator to click on either a ‘Pass’ or ‘Fail’ button – the actual text being passed as a parameter. When the lock up occurs, the front panel is displayed, but there’s no picture and the buttons are blank. Up to that point, previous calls to the VI have executed ok.
    If I modify the step that causes the problem, to call another VI - for example, a sub VI that doesn’t display a front panel - the new VI executes and the program continues to run. If I then change this VI’s configuration so that it’s front panel is displayed at run time, the problem re-occurs - the front panel outline appears but everything then freezes.
    Attempting to close the front panel window, results in either error code –18001 and the message ‘an error occurred accessing the Labview ActiveX automation server’ being displayed or the Windows prompt to close Labview as it’s not responding. Usually, clicking ‘End Program’ causes the PC to crash out & re-boot.
    Skipping TestStand sequences, whether they execute the GUI VI or not, just moves the point where the lock up occurs further down the list of tests, to the next step where the GUI VI is called. It’s almost as if something isn’t being closed properly when the program runs, and eventually reaches some limit, but why this doesn’t appear to effect the Windows 2000 PC, I’m at a loss. 
    Very much appreciate anyone’s thoughts.
    Thanks
    Bruce

    Hi Bruce,
    I found a KnowledgeBase article relating to the error you are seeing.
    It describes error 18001 "Error occurred accessing LV activeX automation server". 
    Let me know if this helps you out.
    This problem may also be due to how you have configured the Distributed COM (DCOM) settings on your machine. You will need to ensure that your DCOM settings allows the LabVIEW ActiveX Server to be launched and accessed through ActiveX automation. Even Administrator accounts can be denied launch and access permissions. To modify these permissions follow the steps below for Windows XP:
    Login to Windows using a UserID that has administrator privileges.
    Select Start»Run and enter dcomcnfg.exe. This displays the Component Services dialog window.
    Navigate to Component Services»Computers»My Computer and select DCOM Config. Ignore the warnings that may appear.
    Right-click on LabVIEW Application, TestStandLVRTS or the name of your LabVIEW ActiveX Server and select Properties to open the LabVIEW Application Properties dialog window. Select the Security tab. 
    You must give permission to the appropriate users so that they can access the LabVIEW server. You should give everyone access permissions and appropriate users launch permission. Only users who have launch permission will be able to access the server. Add permissions by selecting Customize and Edit for each of the three permission settings and manually adding permissions for each user.
    I doubled checked that LabVIEW 7.1 and 3.1 are compatible with windows XP and they are.  Just to make sure, it is 32bit or 64bit you are using?
    Let me know how you get on.
    Kind Regards
    Lewis Gear CLD
    Check out my LabVIEW UAV

Maybe you are looking for

  • My iphone 6 wont turn on after i updated it and it doesn't work to restore it in itunes. what should i do?

    my iphone 6 wont turn on after i updated it and it doesn't work to restore it in itunes. what should i do?

  • Help !! Client for session bean

    I need your help for this roblem : I have deployed a session bean in helloClient.jar and wrote TestHello class to test the session bean. My problem ist to do this test ;i have tried with this command java -cp HelloClient.jar TestHello ,but it works n

  • My powerbook G3 won't boot

    I was just given a Powerbook G3 because it won't boot. When I start the computer I get a folder icon with a question mark in it. What does that mean and what do I do about it? Please help me. This is driving me nuts.

  • OLE-Programming Adobe Indesign(CS3):

    Need urgent help: This is what I came up with so far: I can LOAD INDESIGN and also LOAD a Document. See code below: procedure TForm1.Button1Click(Sender: TObject); var MyIndesign : OLEVariant; begin MyIndesign := CreateOleObject('Indesign.application

  • Recovery Manager provides backup with empty folders

    My girlfriend's Compaq Presario was recently infected with some sort of virus which made accessing anything impossible, even in safe mode.  System Restore was also a bust.  Instead of seeking advice from anyone who knew more than me, I decided to per