I’m hoping you guys can save the day yet again, I’ve been ridiculously stuck on just creating a simple folder directory via the HSLFileDirectory lib, the error I get is "error description is: C:\Program Files (x86)\HAMILTON\Library\HSLFileDirectoryLib.hsl(16) : Invalid class string " but what’s weird is I have the same command lines I’ve used in other methods that have worked perfectly. Also, it returns as a string for certain, I can retrieve the Directory name with ‘GetDirectoryName’ but as soon as I try to create the directory I get that error no matter what I do. The only thing I can think is that I’m trying to do it in the very beginning of the method but either way, I just want to create a folder so I don’t see why that would matter. I attached a screen shot of how I have it setup, to avoid work privacy issues I changed up the name but same concept. If anyone can PLEASE point out the stupidity here I’d be beyond grateful to say the least, SOS PLEASE!!! My head’s throbbing with how tedious this is, I tried writing it directly in HSL but no luck.
When this has happened to me, it is always been because the library had not been actually installed on a new computer. The library appeared in the libraries menus via a method import, but the windows .dlls were never registered with the installer. By chance are you using a new or different computer from where the library has worked in the past?
Hi @day,
@Brad is correct. Anytime you see an “Invalid class string” error regardless of the library, that typically means there is an installer that is required to use the library even if the library already exists on a computer after being imported from another computer. Some libraries have files that require registration before use. This is one of those libraries.
The installer can be downloaded from the link below and should correct your issue after installation.
https://download.hamiltonsupport.com/wl/?id=Jv1jQqx3F68mHawWUbZ7cz32J0IyrZBq
As an alternative to the HSLFileDirectoryLib you could also use the HSLExtensions :: Directory library to create directories. The HSLExtensions libraries do have an installer, however there is no file registration required. This means they will work natively on your computer if they get imported from another source without installation.
… Oh my goodness, thank you guys so much that was the problem indeed. I spent so long on something that wasn’t a coding issue as I suspected.
However, I do still have an issue albeit a different one for the file libraries. I tried using the functions or writing it in HSL directory. No matter what I do, it does nothing or best-case scenario I get this error:
I’m simply trying to just copy a file & copy it into another folder. I already assign variables for its pathway, file name, etc. I’m able to do everything with the file besides copy it for whatever reason. If anyone can shine light on this issue I’d be over the moon as I can’t stand these tedious issues as I know are probably stupid & are probably simple to solve, it’s torture. I appreciate the help more than words & will make it a point if anyone finds it helpful to make a post of all these solutions. Thank you guys so much again!!
Can you copy files from/to the directory using Windows file explorer outside of VENUS? It sounds like there is a permission issue.
… yes I’m able to accomplish that, the directories to & from are within the local drive, I’m unsure why it can’t do this with the VENUS functions as it says it can. I’m able to open, read & write files to each directory just not copy for some reason.
ANOTHER ISSUE ) : Another issue I have is I’m required to use precision Vantage portrait carriers (our labware file indicates the name of this to be “MFX_CAR_3DWP”) on a method that’s for the STAR. I’m required to have the plate barcodes on these carriers to be scanned with the autoload (we do this for all methods). After hours of troubleshooting, it seems no matter what I do, it will not scan the plate barcodes on this carrier, it only scans the carrier itself, the autoload won’t even turn horizontally. When I swap these carriers with any STAR plate carriers (even the portrait ones we have such as “PLT_CAR_P3AC_A00”), it will scan the plates/plate barcodes like it should (via Load function). I tried a billion different things to make it work & try to trick it but no luck, I even tried adjusting the labware myself to which didn’t work either. I simply just need a labware file of this same plate carrier dimension that will recognize it as a plate carrier to scan the plate barcodes, any chance you can help with this as well maybe?
I apologize for my list of issues, but I’ve been at these tasks that I feel are usually simple for too long & am out of options so any help you can provide would be greatly appreciated beyond words. Let me know when you can, thank you so much nonetheless.
For the carrier barcode read issue, there is a labware property for barcode orientation. It should be set to 1 for a horizontal read and 0 for vertical.
Section 10.4 of the Programmer’s Manual covers these properties in more detail.
For the File copy issues, I will reach out to you directly as I suspect there may be something specific with your setup that is preventing this function from executing successfully.
I’ll try that barcode orientation property setting. I was close as I was viewing that before but didn’t realize the barcode property. Thank you so much again! Truly incredibly helpful.
I forgot to mention, it’ll not accept the string format for the barcode positions as it usually does (ex; “1,2,3”) so although I changed the barcode orientation, it will not even load the carrier because of that.
I tried this software example as well which did not work either.
It seems that whatever labware definition you started with does not have the right properties set. I sent you a direct message so that we can coordinate a local resource to assist with your issues.