Calling a DLL from LabVIEW causes crash

Okay, this is an odd one. I have searched through various posts and have found several things that were close but not quite the same.
I have a DLL. I pass to the function in the DLL two strings, each one representing an absolute path to a pair of files. I use a path control to get the paths and then convert those paths to strings. The function also has about 13 other parameters, each of which are U8's passed by reference. I have attached my VI and the DLL. I had to zip the DLL to get it a valid extension.
The function opens the file pointed to by the first string and parses information out of it. It then tries to create some temporary files in a folder that W7 considers to be a safe temporary folder. The problem is that when I run this VI, LabVIEW crashes...hard. I get the message that LV needs to close. However, before it crashes, it successfully opens the file, parses the info out of it and creates one new file in the temp folder. So, the issue seems to happen after the function mostly finishes with everything it needs to do.
One interesting note: I replaced the outputs of the path2string conversions with string constants pointing to the exact same files. Now LV doesn't crash. Instead I get an unhandled exception error in the DLL.
Next interesting note: This same procedure called from another application written in C (on another system) works fine.
Finally, I do have one advantage that most others don't: the developer of the DLL is a coworker of mine. So I have access to the source code.
My coworker feels that the function is failing "between the lines" of code. He thinks it is some type of stack overrun but can't place it.
Any thoughts?
Thanks,
Joe
Attachments:
dll_LoadConstantsFile.vi ‏15 KB
gui_confread_dll.zip ‏40 KB

Rolf, if I understood you correctly, here is the portion of the header file that declares the function:
#define
DLL_EXPORT __declspec(dllexport)
BOOL WINAPI DLLMain(HINSTANCE hinstDLL,DWORD,LPVOID);
extern
"C" DLL_EXPORT void__cdecl LoadConstantsFile(char*filename,
char*patch,
uInt8 *load_status,
uInt8 *device_type,
uInt8 *multi_bom_available,
uInt8 *hires_gain_available,
uInt8 *dcdc_bom_option,
uInt8 *bat_rail_type,
uInt8 *num_mb_genconf,
uInt8 *num_ring_presets,
uInt8 *num_dcfeed_presets,
uInt8 *num_impedance_presets,
uInt8 *num_fsk_presets,
uInt8 *num_tone_presets,
uInt8 *num_pcm_presets);
Here is a description of the function:
Constants File Reader
This is the main function that parses the constants files, collects information, and creates temporary script files. Run this FIRST.
void LoadConstantsFile(char *filename,
char *patch,
uInt8 *load_status,
uInt8 *device_type,
uInt8 *multi_bom_available,
uInt8 *hires_gain_available,
uInt8 *dcdc_bom_option,
uInt8 *bat_rail_type,
uInt8 *num_mb_genconf,
uInt8 *num_ring_presets,
uInt8 *num_dcfeed_presets,
uInt8 *num_impedance_presets,
uInt8 *num_fsk_presets,
uInt8 *num_tone_presets,
uInt8 *num_pcm_presets);
Inputs
filename
Full path and filename of constants file to be read
patch
Full path and filename of patch file to be loaded
I/O
load_status
Updated with 0 if load successful, non-zero if unsuccessful (see codes table)
device_type
Updated with value representing device supported by the configuration file (see codes table)
multi_bom_available
Updated with 1 if configuration file supports the multi-bom format, 0 otherwise
hires_gain_available
Updated with 1 if configuration file supports the hires gain format, 0 otherwise
dcdc_bom_option
Updated with DCDC BOM Option of
default General Configuration detected (see codes table)
bat_rail_type
Updated with Battery Rail Type of
default General Configuration detected (see codes table)
num_mb_genconf
Number of general configuration presets detected (if multi-bom is supported)
The items marked as "inputs" are meant to have something passed in as a value. The parameters marked as I/O are meant to have a pointer to them passed so the function can modify the values (passed as reference).
The function simply opens the file at "filename" and parses out the info to update the other U8 parameters. The file pointed to by "patch" is simply opened to verify it exists and then closed.

Similar Messages

  • Calling 64-bit dll from labview 8.2 on Windows7

    Hello,
    I have tried the LABview driver from the OMNIDRIVER (OceanOptics) package. But when calling functions from the “OmniDriver32.dll” , LABView is crashing and  says that the memory is corrupted.
    I am using LABVIEW 8.2 (32-bit) running on Windows 7 (64-bit).  I have tried some LABView code examples given for LABview 7.1 and 8.0. These example are using the OmniDriver32.dll (not the OmniDriver64.dll).
    But maybe these example are assuming that you are on a 32-bit operating system, which is not my case.
    So I have tried calling the OmniDriver64.dll. but LABView seems not to recognised the dll and can’t read the included functions.
    Is there a way to call some 64-bit dll from LABview 8.2 ?
    Or do I need to buy a new license for LABVIEW 64-bit ?
    Thanks,
    Pierre

    There is no virtualization support for DLL bitness issues outside of the Windows standard directories. The Windows and System directories that an application "sees" depends on its bitness. All other directories are not mapped depending on the calling process' bitness.
    So if you have installed 32 Bit LabVIEW and are not calling one of the system DLLs, you have to point the path of the DLL to the real 32 bit DLL. Pointing it to a 64 bit DLL should not even be able to get the VI compilable, since Windows will refuse to load the DLL into the 32 bit process as being an unknown file format, and that should make the VI broken.
    If you need to call a system DLL you simply enter the DLL name without path and Windows will find the according DLL for LabVIEW.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • File not found when trying to call a dll on LabVIEW Real Time machine

    I have a dll called "DLLRTTEST" that I've written, and have succesfully called on my host machine.  I'm now attempting to call this dll from a vi that is located on my real time computer.  Currently I get an "Error 7 occurred at Call Library Function Node in DLLRTTEST.vi." message upon execution
    In the attached screenshot I'm trying to ensure that the vi I'm running is in fact located on the real time system.  I then use a "Check if File or Folder Exists.vi" to confirm that the dll that I'm about to call does exist on the real time system as well.  However, I still receive an "error 7 file not found" error from the Call Library Function Node.
    Any help is appreciated.
    Solved!
    Go to Solution.
    Attachments:
    DLL_Call_Screenshot.png ‏61 KB
    DLL_Call_Screenshot.png ‏61 KB

    As nathand already mentioned, depending on your C toolchain your DLL will depend on other DLLs. Usually the according msvcrtXX.dll that matches your Visual C version, if you use Visual C, other runtime DLLs if you use a different C environment. These runtime DLLs are even necessary if you do not call anything in any of your functions, since the DLL makes various initialization steps when it gets loaded and that references some C runtime functions nevertheless. Compiling and linking the DLL with static C runtime is usually also not a clean solution since the linked in C runtime will then reference Windows APIs that are not available on LabVIEW RT.
    Depending on your version of LabVIEW RT you will have some mscvrtxx.dll files in your system directory but it will be an older one than from the latest Visual Studio version. If you can compile your DLL with that Visual Studio version then you should be fine, but could possibly run into new problems if you later upgrade to a newer LabVIEW RT version. Installing the C runtime distributables from newer Visual Studio versions is unfortunately also not a solution, since it references many (undocumented) Windows API functions that are not available in LabVIEW RT.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Calling external dll from oracle 8i pl/sql

    Hi
    I am facing in calling extrenal dll from pl/sql.
    Steps followed by me are
    1.
    create library crc_lib as
    'D:\ORACLE\ORA81\RDBMS\EXTPROC\EXTPROC\my.DLL';
    2.
    CREATE OR REPLACE FUNCTION check_file_crc (f1 char)
    RETURN BOOLEAN AS
    EXTERNAL LIBRARY CRC_LIB
    NAME "Check_File_CRC"
    LANGUAGE C;
    3. CREATE OR REPLACE PROCEDURE CRC_TEST (f1 varchar2) AS
         RetValue varchar2(100);
    BEGIN
         if check_file_crc(f1) then
              RetValue := '0';
         else
              RetValue := '1';
         end if;
         DBMS_OUTPUT.PUT_LINE(RetValue);
    EXCEPTION
         when others then
         DBMS_OUTPUT.PUT_LINE(sqlerrm|| 'I am in exception');
    END;
    4.ET SERVEROUTPUT ON
    SQL> exec crc_test('C:\file.txt');
    ORA-28576: lost RPC connection to external procedure agent
    I am in exception
    I have tsnames.ora as
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    and listner.ora as
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\Oracle\ora81)
    (PROGRAM = extproc)
    I am unable to resolve problem please help.
    Prashant
    Edited by: prashant13 on Jul 23, 2009 11:27 AM

    See if MOS note      468404.1 proves helpful here (though not meant for your version of Oracle).

  • Calling LV DLL from VB

    I have a vi that initializes, measures, and releases
    an OSA instrument. I want to call this routine from VB.
    I used Standard calling convention when making DLL from LV.
    Here is my VB declaration:
    Private Declare Sub OSAMeasurement Lib "C:\ADE\OSAMeasurement.dll" Alias "OSADFBMeasurement" _
    (ByVal GPIB As Long, _
    ByVal Serial_Number As String, _
    ByVal FileName As String, _
    ByVal File_Path As String, _
    ByVal Start_Wavelength_nm As Double, _
    ByVal Stop_Wavelength_nm As Double, _
    ByVal Level_Scale_dB As Double, _
    ByVal Res_nm As Double, _
    ByVal Peak_Wavelength As Double, _
    ByVal Peak_Level As Double, _
    ByVal SMSR As Double, _
    ByVal FWHM As Double, _
    ByVal Mode_Offset As Double, _
    ByRef Level_Array() As Double, _
    ByRef Wa
    velength_Array() As Double, _
    ByVal Array_Length As Long)
    Here is my VB call:
    Call OSAMeasurement(Form1.OSA.PrimaryAddress, _
    (strOXM & Form1!txtOPMNumber), _
    (CStr(CInt(dblSetVoltage)) & "v_Scan.txt"), _
    (txtDataStoragePath & strOXM & " " & Form1!txtOPMNumber & "\"), _
    1520, 1620, 5, 1, Peak_Wavelength, Peak_Level, _
    SMSR, FWHM, Mode_Offset, _
    Level_Array, Wavelength_Array, 1001)
    I get RunTime Error "49"
    Bad DLL calling convention
    What is wrong?
    Any suggestions/comments?
    Attachments:
    OSA.zip ‏703 KB

    Basically what i want to do is to call the microchip's dll called "mpusbapi.dll" from VB6. This dll is written in C++. This dll has some basic functions of usb like MPUSBRead() , MPUSBWrite , MPUSBOpen() etc.
    I have made a usb data acquisition card and i want to communicate with this card by means of VB 6. Please tell me or send a tutorial of calling a DLL from VB 6.
    Any help greatly appreciated
    Attachments:
    _mpusbapi.cpp ‏42 KB
    _mpusbapi.h ‏19 KB

  • Create dll from labview

    Hi all:
    I am using labview 8.5 , i want to create dll for spacific vi , to use its output in another program like C++,
    can any one help me to learn the steps to create dll from labview
    thanks

    You need the application builder (which is part of the professional distro).
    In general you should every VI that you want as a function set to 'top-level'
    If you right click on the builds in your project you have an option to build a DLL (if you have the application builder), from there on the help is available.
    Ton
    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!

  • Calling a dll from VB

    Hi all
    I have two questions
    1) I know about the visual Basic 6 but what is measurement studio for visual Basic 6?
    2) Can anyone tell me how to call a dll from Visual Basic 6? Any example for this ?
    Any help greatly appreciated :-)

    Basically what i want to do is to call the microchip's dll called "mpusbapi.dll" from VB6. This dll is written in C++. This dll has some basic functions of usb like MPUSBRead() , MPUSBWrite , MPUSBOpen() etc.
    I have made a usb data acquisition card and i want to communicate with this card by means of VB 6. Please tell me or send a tutorial of calling a DLL from VB 6.
    Any help greatly appreciated
    Attachments:
    _mpusbapi.cpp ‏42 KB
    _mpusbapi.h ‏19 KB

  • Calling Dlls from LabVIEW

    LabVIEW Gurus:
    I am working with some software engineers who have no experience in LabVIEW. Unfortunately I have little experience in C/C++ to make sense of their inquiry.  
    Basically we are dealing with “Data Marshalling”. I will call a DLL and issue a command (string) and get back a 2-D array and an integer. So far so good.
    The C/C++ programmer requested that I provide them with a pointer/memory address in which they will store data, so I can read it once the dll returns the array and integer. I browsed through the example online http://decibel.ni.com/content/docs/DOC-1690 and thought that if I wanted to read from the dll, the process is a simple as calling the appropriate function and configure the parameter (no pointers needed).
    So, is there a specific way that they need to write the C/C++ code to be used in LabVIEW? Or what else to I have to take into consideration?
    Thank you,
    Santiago 

    That example is pretty simplistic as it only deals with integers. In this case no pointers are required since everything is returned by value. When you're dealing with arrays, however, you need to deal with pointers. If you open the Example Finder (Help -> Find Examples) and search for "dll" you will see the "Call DLL" example. That contains many examples of how to call DLL functions with a wide variety of datatypes. I strongly suggest looking at that example. There is also a chapter in the LabVIEW Help on calling DLLs (Fundamentals -> Calling Code Written in Text-Based Progamming Language).
    You have 2 things to consider:
    You're dealing with arrays - this means you typically need to pre-allocate the memory in LabVIEW, and it sounds like that's what the DLL expects you to do. This amounts to using the Initialize Array function to create your 2D array of the appropriate size and datatype.
    You may be dealing with a C++ DLL. LabVIEW can only interface to C DLLs. This doesn't mean that you can't create a DLL in C++, but it does mean that the C++ programmers need to add an extern "C" modifier to the function calls, otherwise you get name mangling, and LabVIEW won't be able to call the DLL. The DLL programmers should know what that means.

  • Create DLL from labview and calling it from other application

    I have an application built using Labview. I wanted to create DLL out of it. The application has
    two String inputs start and stop buttons and two status indicators.
    1. How to itegrate start and stop buttons from function prototype?
    2. Does Labview created DLLs requires labview runtime engine when it is to be called from other application?
    Can some one help on this.
    Solved!
    Go to Solution.

    Hi Yuvish,
    1) They should be boolean inputs to your VI. But does it makes sense to provide a stop button input at the start of your VI? (THINK DATAFLOW!)
    2) Yes, the LV-RTE is needed...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Calling a dll from forms 6

    Hello,
    Sorry, I'm brazilian and my english isn't very good...
    I'm trying to call some functions from a dll invoked by a trigger on event WHEN-BUTTON-PRESSED. I make a package as this:
    ---- Package Spec ----
    PACKAGE anserlib IS
         function autoconnect(p_connport in number) return boolean;
    END;
    ---- Package Body ----
    PACKAGE BODY anserlib IS
         libhandle ora_ffi.libHandleType;
         autoconnect_fhandle ora_ffi.funchandletype;
         setprinton_fhandle ora_ffi.funchandletype;
         setprintoff_fhandle ora_ffi.funchandletype;
         res varchar2(200);
         commport number;
         function ff_autoconnect(fhandle ora_ffi.funchandletype, p_commport in number) return boolean;
         pragma interface(C, ff_autoconnect, 11265);
         function autoconnect(p_connport in number) return boolean is
         begin
              return(ff_autoconnect(autoconnect_fhandle,p_connport));
         end;
    begin
         libhandle := Ora_Ffi.Load_Library('C:\Juarez\Anser\','Anser712.dll');
         autoconnect_fhandle := ora_ffi.register_function(libhandle,'AutoConnect');
         ora_ffi.register_parameter(autoconnect_fhandle, ora_ffi.C_INT);
         ora_ffi.register_return(autoconnect_fhandle, ora_ffi.C_INT);
         setprinton_fhandle := ora_ffi.register_function(libhandle,'SetPrintOn');
         ora_ffi.register_return(setprinton_fhandle, ora_ffi.C_INT);
         setprintoff_fhandle := ora_ffi.register_function(libhandle,'SetPrintOff');
         ora_ffi.register_return(setprintoff_fhandle, ora_ffi.C_INT);
         ora_ffi.generate_foreign(libhandle, 'anser');
    exception
         when ora_ffi.ffi_error then
              --message(:bloco_teste.mensagem, acknowledge);
              message(tool_err.message, acknowledge);
    END;
    and the trigger is:
    declare
         v_res boolean;
         v_commport number;
    begin
         v_commport := 3;
         v_res := anserlib.autoconnect(v_commport);
    end;
    When I run the form and press button appears the message (it appears in portuguese to me, maybe the text is not the same in english, but i'll try to translate):
    FRM-40734: Internal Error: occours a PL/SQL error.
    Someone have an idea to help me...?
    Thanks vry much!!! :)

    In my opinion this error is something like 'General Protection Fault error' in Windows. I sow this error when my DLL worked with memory incorectly or called OCI functions which don't work under Forms Runtime.
    I think the problem might be caused by a mistake inside the DLL. The other problem may be that you use incorect calling conversion. For instance, the default calling conversion in Borland C Builder or Delphi is fastcall, not cdecl.
    p.s.
    1. Sorry for my English too :).
    2.
    ora_ffi.generate_foreign(libhandle, 'anser');I'm not sure what ora_ffi.generate_foreign does exactly, because I have never used it. As far as I know it isn't needed for this code. I'd recomend you to remove this line from your program.

  • Can I create a dll from labview with more that one function name

    I know that when I create a dll from C and then call it in labview using the call library function node I can see the different functions on the configuration screen. Is there a way to create a dll in labview to have more than one function name? No matter how many functions happen in my VI it seems to build into a dll under the same function name requiring inputs for every function, can this be avoided somehow?
    Thanks,
    Dave

    Each function corresponds to a separate VI. When creating the dll, on the Source Files tab of the app builder, click the Add Exported VI for each VI that you want. SubVIs of a main are not automatically exported and will not be available as separate function calls.

  • Calling C# dll from inside of JavaScript

    I have a LabView application that uses javascript to call into some database stored procedures. I was wondering if there is a way of calling a .Net dll from inside of the Javascript without having to register the dll as a COM server. Are there any examples out there that I can take a look at?

    That certainly seems like a roundabout way of doing things. Why do you need to use Javascript? Is this related to this question? If found this and this via Google.

  • Security exception when trying to call a DLL from an applet

    Hi all,
    I really hope someone out there can help me. I'm trying to call a windows DLL from an applet but always get some error when the call to the DLL comes. If I run it on the command line (calling a dummy main function that only calls the dll) I don't get any error. However, with the -Djava.security.manager, I get an ExceptionInitialiserError. When running it in a browser, I seem to get any of three errors, the above, securityAccessControlException (as I was expecting) and even NoClassDefFoundError.
    I realise of course that this has to do with the permissions in effect but nothing seems to happen when I change the policy file, so I have to feeling that I'm chaning the wrong file. The one I'm using is the one the JRE entry in the registry is pointing to, Java Runtime Environment->CurrentVersion...
    I even tried giving everything in the applet's directory AllPermission.
    So what I'm wondering is this. Is there any way to check if your policies are actually working and when you update the files, what do you need to do to make the changes take effect?
    Best regards,
    G�sli

    I have the same problem. Have you solved your problem, if so please let me know what the solution is.
    Einar �rn

  • Calling a dll from a new menu item in Bridge.  Idiot help needed

    Hi,
    I'm trying to what I believe is a fairly simple script.  I'm coming from a hobbiest Delphi background, and to be honest I'm finding JavaScript a little bit hard to understand.  My requirements are simple - add a new menu item to Bridge which executes a call to a custom dll.  Note I'm not expecting the dll to return anything here.. 
    Looking at the samples provided even I can add the menu item - but getting it to successfully call the dll is a bit of a mystery. 
    The script compiles and adds the menu item, however the menu action doesn't call the dll.  I believe it should be a fairly simple task and was hoping somebody here could steer me right.  Here's my code (as you'll see a clear cut and paste job from the examples ;o)
    Header 1
    function SnpAddMenuItem()
      this.requiredContext = "\tAdobe Bridge must be running.\n\tExecute against Bridge CS6 as the target.\n";
      this.menuID = "snpmyMenu";
      this.menuCommandID1 = "snpAddMenuItemSub1";
      $.level = 1; // Debugging level
    SnpAddMenuItem.prototype.run = function()
      var retval = true;
      if(!this.canRun()) {
      retval = false;
      return retval;
      // Create the menu element
      var newMenu = new MenuElement( "menu", "myMenu", "before Help", this.menuID );
      // Create the menu item
      var alertCommand1 = new MenuElement( "command", "Load Stuff", "at the end of " + this.menuID, this.menuCommandID1);
      alertCommand1.onSelect = function (m1)
            ExternalObject.myDll = new ExternalObject('lib:/C/temp/apmDLL.dll');
            myDll.sendtoACRPM(1);
    //      return retval;
    SnpAddMenuItem.prototype.canRun = function()
      // Must run in Bridge
      if(BridgeTalk.appName == "bridge") {
      // Stop the menu element from being added again if the snippet has already run
      if((MenuElement.find(this.menuID)) && (MenuElement.find(this.menuCommandID)))
    // $.writeln("Error:Menu element already exists!\nRestart Bridge to run this snippet again.");
    // return false;
                MenuElement.remove(this.menuID);
      return true;
      $.writeln("ERROR:: Cannot run SnpAddMenuItem");
      $.writeln(this.requiredContext);
      return false;
    if(typeof(SnpAddMenuItem_unitTest ) == "undefined") {
      new SnpAddMenuItem().run();

    The dll needs to be compatable with the criteria set in the JavaScript Tools Guide. There is an example in the Bridge SDK that can be downloaded from http://www.adobe.com/devnet/bridge.html
    But it need someone who is knowledgeable with c++
    It would be great if someone could write a wrapper to access other external objects.

  • Problem about calling a DLL in LABVIEW

    Hi,
    I have a problem using Labview to call a DLL file, when I call the function " commandinterp() in labview, labview will always return error message"an error occured in external code, it might  have corrupted labview memory..."  attached is the DLL file and the labview code .so did the code i attached have any problem? or is it the problem of the DLL?  thanks
    Attachments:
    mydll.txt ‏22 KB
    callfunctionnode.vi ‏7 KB

    It looks to me that he might be missing an input parameter. 
    The line shows   int commandinterp (char cmd_line[]) {
    So is a char type an input argument for the function to be used as the variable name cmd_line?
    The attached VI does not show any input parameters doing into the DLL call.
    (I am not entirely sure.  Since the dll itself was not attached, I had to tell Labview to ignore the item when it looked for it.  Perhaps the way the VI opens up when the dll doesn't exist on my machine is different then if the dll did exist.)
    Message Edited by Ravens Fan on 07-20-2007 12:01 AM

Maybe you are looking for

  • 9i install error  "error writting to C:|windows\system32\mfcan32.dll"

    I'm trying to install Oracle on a "brand new" computer running WIN 2003 XP Home, so I'll be ready for the fall semester. I was installing Oracle9i DS Release 2 (9.0.2.1) and at the "Install" screen this Oracle message. ERROR writting to C:|windows\sy

  • G/L Account Balances

    Hello Dear Friends, I need G/L account Balances list including below datas. can you help me? thank you very much in advance... Reporting Period: 2011 January-March G/L Accounts  "Balance Carryforward"       "Debit Reporting Period"     "CreditReporti

  • Nav Services Open Dialogue Bug

    TextWrangler 2.1.3 and OSX 10.4.7 result in sporadic TW crashes when opening files within TW. I sent BareBones the crash log, and they said it is a known bug in OSX Nav Services, and occurs with any app using the Open dialogue. I'm experiencing about

  • Can you print from a USB Drive on HO HP printer?

    I have an HP LaserJet MFP 276np all-in-one printer. Is it possible to print from a USB Drive inserted in the printer. If so, please give directions. Thank you,

  • Anyway to recover the llb

    I am having a problem when open my own LabVIEW library file. I created this llb using lv 7.1 but now I cant open it with lv8.0.1. Please take a look at the llb and if possible help me to convert it to lv8.01 so that I can use it. My pc got both 7.1 a