Invalid tdms file reference

I have a program that logs data with a tdms file.
On my pc it works fine. When I build an exe and instal it on an other pc, I get the error:
"invalid tdms file reference"
Is this a problem with my vi or with the pc? 
Attachments:
Stikstofdroger.vi ‏50 KB

I'm wondering about that this works at your development machine.
You should think about attending a LabVIEW Style Guidline and LabVIEW Performance class.
But to fix you issues regarding the tdms file path you have to change a few things:
1. There is only a valid path when "Datalog OFF/ON" is set to true before you start the vi. You should change this by creating a new event case for the "Datalog OFF/ON" where the user then is able to start datalogging when the vi is allready running.
2. When "Show Measurements" is set to False you write an emtpy path constant into the shift register. Why? Either you wire the path from the left tunnel to the right or you think about if it is even necessary to wire the path through the case structure at all.
However, I would still recommend you to completely redesign your vi!
Christian

Similar Messages

  • A File Reference and its evolving life!

    Hi all,
    I've noticed something that came as a little bit of a surprise to me, but I think I have the explanation, at a hand-wavy higher level anyway.  What I have not established is if this is a 'bug' or a 'feature', and if there are any ways the following issue can be avoided at the NI function/api layer.
    Consider the file open and file close function.  You open a file, you use the reference to the file to write/read data, then at some point you close the reference and the close function spits out the file-path.  Here are a couple of tid-bits you may not be aware of (that are easy to test):
    Q1) After your application opens/creates a file and starts using the file-reference to make file writes, if an external source changes the file-name of that file... guess what will happen on your next write function call?
    A1::  The write successfully updates the newly re-named file with your new data without producing an error or a warning.  (At least this is the case if your program is running on a vxWorks cRIO target and the file-name is changed directly on the cRIO via an FTP browser.)  
    Did this surprise you? It did surprise me!  -My handwavy explanation is that the file-pointer is perhaps managed/maintained by the OS, so when the OS tells the file-system to rename that file, the pointer that LabVIEW holds remains valid and the contents of the memory at the pointer location was updated by the OS.
    Q2) Continuing from the situation setup in Q1, after writing several new chunks of data to a file now currently named something completely different than when the file reference was originally created, you use the close function to close the file-reference.  What do you expect on the file-path output from the close function??  What do you actually get??
    A2::  The close function will 'happily' return the ORIGINAL file-name, not the actual file-name it has been successfully writing to(!).   This has some potentially significant ramifications on how/what you can use that output for.  At this point there is a ton of room for pontifications and more or less 'crazy' schemes for what one could do, but I argue that the bottom line is that your application has at that point completely lost the ability to accurately and securely track your file(s).  Yes, you could list a folder and try and 'figure out' if your file-name was re-named during writing and you can in various ways make more or less good 'guesses' on which file you in reality just had open, but you can never really know for sure.
    So, what do you guys think?? Is the behavior of returning the (incorrect) original file-path when you close the handle a BUG or a FEATURE??  Would it not be possible for LabVIEW to read back the data contained in the (OS?) pointer location and as needed update the file out path data when it closes a reference?  Should we not EXPECT that this would be the behavior?
    Q3)  Again, continuning from the above situation, lets assume we are back at the state in Q1, writing data to a (re)named file.  What happens if the file is deleted by an external process? What happens to the file reference? File function calls using the reference?
    A3::  This one is less surprising.  The file reference remains 'valid' (because it is a valid reference), but depending on the file function you are calling, you will get error such as error 6 (binary write reports this), or error 4 (a TDMS write will report this error), etc.  So as long as you don't rely on file ref-num tests to establish if you are good to go with a file-write or file-action, you should be safe to recover in an appropriate way.. Just don't forget to close the file-reference, even if the file is 'gone', the reference will still remain in memory until you 'close' it (with an error)(?I might be wrong about this last part?)
    I am not sure if the above is possible on e.g. Windows, Windows would probably prevent you from re-naming a file that has an open file-handle to it, but this is definitley observable on at least vxWorks cRIO targets.  (I don't have PharLap ETS or RTLinux devices so I can't test on those targets.. if you want to test its pretty straigth forward to make a simple test app for it.)
    [begin rant-mode related to why I found this out and why this behavior BITES]
    There are situations where the above situation could cause some rather annoying issues that, for somewhat contrived reasons related to cRIO file API performance, CPU and memory resource management, are non-trivial to work around.  for example, using the NI "list folder" to listing folders take a very hefty chunk of time at 100% cpu that you cannot break up, so polling/listing folders after every file update (or even on a less regular interval) is a big challenge, and if you are really unlucky (or didn't know any better) and gave the list command in a folder with 1000's of files (as opposed to less than about 100 files), the list will lock your CPU at 100% for 10's of seconds...  Therefore, you might be tempted to maintain your own look-up table of files so that your application can upload/push/transfer and/or delete files as dictated by your application specific conditions... except that only works until some prankster or well-intention person remotes in and starts changing file-names, because then your carefully maintained list of file-names/paths' suddenly fall appart.
    [\end rant]
    QFang
    CLD LabVIEW 7.1 to 2013

    Hey guys, thanks for turning out your comments on this thread!
    -Deny Access : still able to re-name (and delete) the file via FTP browser (didn't test other file avenues).  I think this is for the same reason that NI vxWorks targets (such as cRIO-9014) do not support the concept of different users with different rights, as such, everyone have access rights to everything at the OS level.  Another issue for me would be that "Deny Access" does not work on TDMS file references, so even if it worked, it would not help me.
    --> I strongly suspect that these things are non-issues or issues that can be properly managed, on the new NI LinuxRT targets since (the ftp is disabled by default) it supports user accounts and user restrictions on files/folders.  The controller could simply create the files in a tree where 'nobody else' has write access.
    Obviously nobody should mess around with files on a (running) cRIO, but customers don't always do what they are supposed to do.   
    As far as the 'resources' or overhead to update the file-refnum with the new information, this would not be needed to be done in a polling fashion, simply, when the file-close function is called, as part of that call it updates its internal register from the pointer data, so this should be a low overhead operation I would think?  If that is a true concern, a boolean input defaulting to not updating or a separate 'advanced close' could be created?
    I've included a zip with the LV2013 project and test VI's (one for tdms one for binary) that I've used. nothing fancy, but in the interest of full disclosure.  The snippet is the 'binary file' test vi, in case you just want a quick peak:
    Steve Bird's findings of (yet) another behavior on Pharlap systems is also very interesting, I think!!
    [EDIT]  JUST TO CLARIFY, on vxWorks, the re-named file keeps being successfully written to, unlike the PharLaps' empty file that Steve Bird found.
    QFang
    CLD LabVIEW 7.1 to 2013
    Attachments:
    cRIO Tests.7z ‏30 KB

  • Getting "... file has and invalid format. (Error no. 11)" when importing .tdms file into DIAdem 11

    I developed a script for processing .tdms files in DIAdem 11.1, now I'm deploying the script on the very PXI system that created the .tdms files.  This system had DIAdem 11.0, but when I try to open (DataFileLoadSel) the tdms file in my script I get the error message:
    "D:\MyFileName.tdms" has an invalid fiel format.  (Error no. 11)
    The tdms files are created by a LabView application.
    If I delete the correspondin .tdms index file, I get a little further, it loads the first two of four groups, using DataFileLoadSel on the first group, and DataFileLoadRed on the 2nd group, on third group, another DataFileLoadRed, I get the following error:
    Error in <MyScript> (Line: x, Column: y):
    Cannot load the file "D:\MyFileName.tdms" with the loader "TDMS"
    Further information:
    Cannot open the file "D:\MyFileName.tdms".
    Is there a difference between DIAdem 11.0 and 11.1 that affects the import of .tdms files, if so, can I get around it?
    Thanks,
    Eric
    Solved!
    Go to Solution.

    Hello eberg,
    Before we go into more detailed error trapping, could you please try to install the TDMS 2.0 format on the DIAdem 11.0 computer (DIAdem 11.1 and LabVIEW 2009 come with the TDMS 2.0 stuff already installed).
    Please get the download here: http://zone.ni.com/devzone/cda/tut/p/id/9995
    Once installed, please try running the Scripts again (in DIAdem 11.0) and let us know if that fixed the issue. It might not help to install this, but it's a quick thing to try before we dig deeper into the issue.
    Best regards,
          Otmar
    Otmar D. Foehner
    Business Development Manager
    DIAdem and Test Data Management
    National Instruments
    Austin, TX - USA
    "For an optimist the glass is half full, for a pessimist it's half empty, and for an engineer is twice bigger than necessary."

  • An invalid or empty reference to a Cascading Style Sheet file was specified.

    Hello,
    I am having an issue with a page layout that I created yesterday and that was running just fine before I left work.  I shut down my environment and system at the end of the day.  When I came in today and fired up SharePoint 2013 and SPD 2013, I
    noticed that when I attempted to open the Page-Layout I worked on yesterday I received this message:
    An invalid or empty reference to a Cascading Style Sheet file was specified. Valid references must specify only a filename that ends with a ".css"
    I have validated both the master page and the page-layout for malformed or incorrect css references but there are none.
    This kind of stuff drives me crazy with SP.  So much time spent chasing needles and the error message might have nothing to do with the real cause.
    Thank you for any and all help you can provide.
    Tim

    Hi Tim,
    Could you please reproduce the steps of creating the page layout today, and see if shutting down your environment and system affects something which might cause the issue?
    In addition, please check in ULS log per the issue timestamp and see if there is more error information can be help to find out the root cause.
    Regards,
    Rebecca Tu
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Error reading TDMS file with inconsiste​nd dt

    Hello all,
    I would like to ask your help to understand how to read a TDMS file which I am opening and closing based on a user input.  As a result the data in the TDMS file does not have a consistent time step, which may be causing my problem, but I really don't know.  I keep getting the error 2501, that I have an invalid reference. 
    Or, if I continue and bypass the error, the extract portion VI gives me an error stating that I need to define an integer multiple of dt.
    I am not sure how to solve the first point as I have the reference wired directly to the read TDMS vi.
    I have attached a screen shot of the error and the portion of the VI with the offending error (it is the code connected to the read TDMS read vi).
    My goad is to extract a portion of the data to do calculations on and display a result to the user.
    thanks for any comments.
    A. Lopez
    Attachments:
    error-2501.JPG ‏198 KB

    I think you open multiple times the same TDMS file, you should open it before the while loop. And I don't see a close tdms function...
    Also check for errors on the open TDMS function.
    Ton
    Message Edited by TonP on 02-14-2007 07:45 AM
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • How do I select more then one channel to view in tdms file viewer graph panel

    I have a TDMS file that I can view with the labview 2013 TDMS file viewer and I can select one signal out of 15 signals to view on the graph panel. however I would like be able to look at 2 or 3 signals
    on the same graph but can't seem to be able to select more then one signal at a time. Is there a way to select more then one to view?  

    I've modified the TDMS viewer in the past to allow selecting multple channels.  It's a little bit of a pain because the tree control in the viewer only allows you to select one item.  You have to edit the tree to allow multiple items.  Now your selection is an array instead of a scalar.  This means the rest of the code has to be updated, and the references to the tree in subVIs need to be updated.  Not impossible but it takes some time.  Alternativly open it in Excel with the free add-in then you can select the two columns you want and insert a graph.  Not as simple for the user but using Excel, which users should be familiar with might mean users need less training on data files.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • Read time of tdm file increases

    Hello,
    I recently recorded a lot of data in tdm format. I originally saved it in an excessively organised and complex way which resulted in large header files and was very slow. I changed it and most of the data is fine, except 6 files in the old format. Just trying to read them to get the data out and then convert it into an easier format is taking far too long. Each file has ~15000 channel groups, each with 3 channels (I won't do this again...). I have witten a small vi to test the reading speed. Excluding opening and closing of the file, if I just find a channel group by name, reading one channel from that group takes about 1 second. This would still take days to read it all but would be acceptable. The strange thing is, is that if I do this in a loop for successive channel groups which is clearly necessary, it takes longer and longer each iteration. This is behaviour that I have always seen when reading tdm files, but it hasn't caused a serious problem before. I can't find any information about why though, so I hope I'm just doing something stupid. I have attached the speed testing vi (Labview 2010). Running it for 5 iterations, the time taken to read the channels is
    0.82304 s
    1.58809 s
    2.42514 s
    3.56820 s
    5.60632 s
    The channels it is reading all have the same number of values, and it makes no difference if I start at a different channel group (by adding a number to i in the loop).
    Does anyone have any explanation for this behaviour?
    Thank you very much for your help, and I'm sorry if it's something tht has been asked before,
    James 
    Solved!
    Go to Solution.
    Attachments:
    ReadBadTDMSpeedTest.vi ‏44 KB

    TDMS is an all binary format whereas TDM posses an XML header, otherwise they are very similar. Being a binary format you would expect it to read faster especially as you mentioned that the header was complex.
    There are a number of un-closed references in your code and I wonder if this was partly the issue, although this wouldn't explain why converting to TDMS fixed the problem?
    Beyond that, it would be nice to try this without using the express VIs to see if the problem still occurs. 
    Also, where you able to see if this was a memory issue? And if the read time continued to increase beyond what you posted?
    Anyway, I am glad we found a solution to your problem.
    Nick C.
    Cardiff University

  • Save multiple sample rate data to TDM file

    Hello, LV connoisseurs
    I use 2 Multifunction boards and LV 7.1 to gather slow and fast data simultaneously, 'slow' being 10 temperatures at 150 Hz, 'fast' being 12 pressures at 15 kHz, rate factor between slow and fast is constant 100. My acquisition is set to 'continuous' with blocks of 15 and 1500 resp., so each sample set takes 0.1 sec.
    Currently, I use 2 loops, one for each board. Slow data are written to .lvm, fast to .tdm, and this works fine.
    But I wonder if in this configuration it might be possible to
    - use one loop only (yes, trivial) with the main target being to
    - write data into two channel groups of one .tdm-file, one for the 'fast' the other for the 'slow' data?
    If at all possible, would this require the consumer/supplier scheme such as to allow the interspersing of data or can I do this directly?
    Thank You for your input.
    Michael

    Just to make the distinction, you should probably be using TDMS (the S stands for streaming) instead of TDM if you are continuously writing data. TDM is more for writing a snap-shot and doesn't work so well for continuous data (big memory leaks last time I used it back in '06).
    Also, as no time data is stored you probably also want separate timestamp channels then for your fast and slow data.
    As mentioned, it is no problem having multiple writing loops using the same TDMS reference.
    nrp
    CLA

  • Filter data in tdms file

    I am needing to look at select data of a TDMS file in an analyze portion of a stat machine. The VI is to test both AC and DC motors. I am getting 18 different reading from a power analyzer. I am writting these to a TDMS file for ease of passing through the rest of the states. In the "Analyze" state I am wanting to look at  13 of readings an compare them to see is they are within tollerence. I will then use this check to highlight the reading green or red.
    My questions are:
    Should I even have an 'Analyze' state or should I do the analysis in the state that the reading is taken?
    If I do use the 'Analyze' state is pulling the data from the TDMS file the best way to do this?
    Also, if you see any other possible errors in the vi, please let me know. This is my first experience with LabView and it is steep learing curve.
    Thanks, 
    Attachments:
    AC TEST PANEL.vi ‏524 KB

    Since you are using a State machine approach, I would suggest to keep that idea and add the Analyze state to keep the code organized. Plus, you can add a shift register to pass around the acquired data which will be more efficient than reading from the TDMS file.
    For future reference, when using the state machine while you analyze, log, etc...you are forcing sequential execution and loosing time that can be used for hardware I/O. When this becomes a concern you can implement the following structure. Keep up the good work
    Alejandro | Academic Program Engineer | National Instruments

  • Problem viewing data after import TDMS file

    Environment SignalExpress 3.0. Windows XP.
    I have a number of logs created and saved in a SignalExpress 3.0 project. I'm trying to import a single log into a new project and view the data in a data view window.
    So I do:
    Open SignalExpress
    File->Import->Logged Signal from SignalExpress TDMS files
    Navigate to the log folder named - "25062009_135820_-_Nano_Carbon_Pyrograf_T1"
    Double click the tdms file named - "Voltage.tdms"
    I see the following tree structure in the Logs pane :
    Logs
        - 25/06/2009 13:58:20
            - Nano Carbon Pyrograf T1
                - Voltage - Dev3_ai0.
    If I then try to drag Voltage - Dev3_ai0 onto a data view it doesn't work.
    I've inspected the original project which I used to create the log  tried to import above. Comparing the tree structure it looks:
    Logs
        - 25/06/2009 13:58:20 - Nano Carbon Pyrograf T1
            - Voltage
                - Dev3_ai0
    In this project I can drag Dev3_ai0 onto a data view with no problem.
    Notice the difference in tree structure in the Logs pane? I'm pretty sure SignalExpress is parsing the log wrongly when it imports it!
    Mike

    Hi Mike
    I know that we have communicated over email but I just wanted to respond here so others can see the workaround.
    I have investigated the issue and have been able to reproduce the issue, even in Signal Express 2009. The problem is caused by the name you specify for the log when you begin recording. If the character "-" is present at any point in the name of the log, Signal Express does not import the tdms file correctly. This is not an issue with the tdms file, as it opens fine with LabVIEW, but must be an issue with Signal Express. I have reported this as bug under reference #182846. For now, you should not use the "-" character in the name of your log.
    Regards
    Rich
    NI | UK

  • VB ERROR - object library invalid or contains references to object definiti

    My system crash and i had to reinstall office 2007 and bpc. now I get the follwoing error.
    VB ERROR - object library invalid or contains references to object definitions that could not be found.
    i have checked ma macro settings and they are low. anyone see this before?

    Hi ,
    we upgarded excel 2003 to 2007 .
    Now i am facing same issue . I deletd the .EXD files .Stull i am getting the same issue .
    Pls let me know solution for this .
    Regards,
    PSr

  • Untitled channels in tdms file

    Hello,
    I am creating a TDMS file and formating the properties for  a number of channels then I close the TDMS reference. and when I have data available to write t the TDMS file I reopen the reference and wrtite to it.
    When my acquisition is finished, the TDMS file contain one more channel than the one I created. This channel contain the data that should have been in my first channel and the last channel is empty.
    I've attached two images of the VI I'm using
    All the properties I set are correct and correspond to the channels I want.
    Attachments:
    Create file.PNG ‏26 KB
    write to file.PNG ‏8 KB

    Hi,
    If you use the VI "TDMS File Viewer" and check the positioning of the data to ensure it's writing it incorrectly. Also (as it's difficult to see from screenshots) would it be possible for you to include this code in the forum post?
    Hopefully then I will be able to help you out more.
    Thanks,
    Applications Engineer

  • Object library invalid or contains references to object definitions that could not be found

    I have an excel macro application. It works ok in my machine. Whenever I send it to my colleague and he opens the file and save and send it back to me, I get the below error. But, it is working
    ok in my colleague machine.
    Compile error:
    Object library invalid or contains references to object definitions that could not be found
    Looks like some recent windows update is causing this issue. I tried to delete the temporary file from the command prompt as mentioned in some of the forums using the below command. But, still it
    is not working.
    DEL /S /A:H /A:-H *.EXD
    Even tried to uninstall the recent windows update on both of our machines, but still the issue is not resolved. It is working ok in his machine, but I get the compile error. Please share your thoughts.
    Thanks.
    Below are the references available in the excel macro application. There is no missing reference error on both of our machines. We both are using Excel 2010 32 bit. My OS is windows 7 64 bit and
    my college is having windows 7 32 bit.
    Visual Basic For Applications
    Microsoft Excel 14.0 Object Library
    Microsoft Forms 2.0 Object Library
    Microsoft Office 14.0 Object Library
    OLE Automation
    Microsoft ActiveX Data Objects 2.6 Library
    Microsoft Visual Basic for Applications Extensibility 5.3
    Microsoft XML, v6.0

    "Looks like some recent windows update is causing this issue. I tried to delete the temporary file from the command prompt as mentioned in some of the forums
    using the below command"
    I've heard some cases that even deleting EXD files and running the FixIt tools, ActiveX controls weren't working.
    Can you confirm if you can insert ActiveX controls in your worksheet, please?
    (Developer tab >> Insert button >> any ActiveX control of your choice)
    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

  • Tdm importer error when opening tdms file

    I am getting a error when trying to open a tdms file that had been opened by labview, written to, and then closed. The error is:
    USI encountered an exception:
    (175):Error while initializing interface
    I can sort of understand this error occuring when I have the file open in labview (actually I consider this to be a bug since there is no reason why another application should not be able to access a file in read only mode even if it is currently open by another application)
    but in my case I am definitely closing the tdms reference and it still will not import unless I stop the top level vi.

    It is a known bug that if you open a TDMS file with an option other
    than "read-only", no other process can get access to that file, even if
    it is just for reading. The issue is filed as CAR#  49794JWJ
    (status: fixed). This only applies if the file is still open, which you
    commented on, but which doesn't appear to be your actual problem.
    Apparently, you are using the Storage VIs to handle your TDMS files,
    otherwise you couldn't get a USI exception. Have you tried opening your
    file with the TDMS File Viewer on the TDM Streaming palette? If that
    doesn't work, please provide us with your TDMS file, and if possible,
    your VI. This would be a problem that we're not aware of at this point.
    Thank you,
    Herbert

  • Rename Group in TDMS File

    Does anyone know how to rename a group in a TDMS file?
    I have a TDMS file with 90 groups, each containing 4 channels.  I would like to rename the groups within the file while leaving everything else the same.  Thoughts?
    thank you,
    Scott Otterbacher

    Thanks for the great input.  However, I'm still having some problems.  I have a for loop that runs through all the group names and at each iteration takes in the original and revised group names as inputs into TDMS Set Properties.  Some of the groups go to the correct new names, but some get changed to incorrect ones.  Attached is a copy of the VI.  I'd include one of the TDMS files as well, but each are about 20Mb.
    The TDMS file contains about 90 groups that are decimal strings which relate to antenna azimuth direction.  When I collected the data I did not reference the azimuth to north, but rather I just pointed the antenna north and noted what position I was getting from the encoder (i.e. North = 156 deg).  Now I want to go through and change the group names to be referenced to north = 0 deg.  So I read in the array of group strings, convert to integer, subtract 156 or add 204, depending on the value, and then convert that new number back to a string and send it to the TDMS Set Properties function.
    I am unsure if my problem is how i'm passing the arrays into the for loop or if it's how i'm using TDMS Set Properties.
    Here is an example of what happens:
    original groups: 5,8,13,17,20,25,28,32,36,etc...
    desired groups: 209,213,217,221,224,229,232,236,240,etc...
    new groups: 53,57,61,65,224,73,232,236,240,etc...
    The first few are wrong, but then the 5th is correct along with the 7th, 8th, and 9th.  5 of the groups after that are also correct before it goes back to an erroneous one.  The wrong group names seem to be from the array of correct names, but just from the wrong index of the array.  This seems odd because the for loop should be reading in just one array value at a time, and in the correct order from beginning to end.
    Hope you can help out a confused labview newbie.
    Attachments:
    Change_Az_TDMS.vi ‏25 KB

Maybe you are looking for

  • Specifying arguments to Webservice calls

    I have the following code: Sample Code is: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx=" http://www.adobe.com/2006/mxml" layout="absolute"> <mx:WebService id="wsTest" wsdl=" http://192.168.1.108:8080/stockquotes/stock_quote?wsdl"

  • File Pixelation

    Hi, I am using Creative Suite to create brouchers for my company. I am laying out individual pages in Illustrator and then importing them into InDesign and then exporting to a PDF from there. Overtime the PDF will pixellate some pages and not others.

  • Rmic Class not found is worrying me--Help

    Hi guys I want to know if win200 prof and JDK1.3.1_01 are not friendly. When I run javac *.java in the dir c:\test\java\agent, it compiles fine, but When I run rmic AgentImpl I get AgentImpl class not found error Now I tried this: C:\>rmic -d <c:\tes

  • My Compaq presario CQ40 battery

    Sir,       I got a Compaq presario CQ40 notebook. My battery displays ....plugged in, not charging....I guess reason is that my battery        has dried up....so i would like to ask that is it a safe using that battery for few days .....or it has cha

  • IE 7 or higer for MacBook Pro 10.6

    Hi there, I need IE v. 7 or 9 to run a work program called solbright... is this possible to get for my Mac? Thanks Kat