-
Posts
835 -
Joined
-
Last visited
-
Days Won
49
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by MikaelH
-
FYI, we have switch back to 2023Q1, which don't hate VIMs. We can now finally build our applications without any LV crashes and any modifications to get the build to work.
-
Also try running the DLL in any thread. That will probably speed up the execution >100 times, but if the DLL is not thread safe you might get crashes.
-
BTW, can you also update this library to make LV2023Q3 to build applications with these VIMs to work ;-). We use these VIMs a lot, and in LV2023Q3 several VIs stops the builds complaining that "VI is not in memory". And to get the App building to accept these VIs I have to replace your VIMs with the old style OpenG version :-(.
-
We just migrated to LV2023. and I thought we should update this library as well to the latest. That did break a lot of code. E.g. So the new version didn't accept the old non-typedef sort direction, so I've modified it. Also the array filter vim, don't support reference wires anymore (e.g. Ctrl Refs). I also had to add I32 here The old version did handle it
-
Do you want it in Normal Display format like thsi: BTW this loop of generating the HEX string is not fast, there are much faster ways of doing it
-
Windows system GDI object limit problem
MikaelH replied to xiongxinwei's topic in Application Design & Architecture
Change the limit to 65535 instead of 10000 in the Windows Registry I have a file named: Max GDI Objects.reg With this content: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows] "GDIProcessHandleQuota"=dword:0000ffff -
How deep is you inheritance tree?
MikaelH replied to Antoine Chalons's topic in Object-Oriented Programming
Mostly we use 3 levels for the instrument driver (InstrumentBase <- InstrumentType(e.g. PowerSupply) <- RealInstrumentDriver (but also a simulated type) We currently have 398 classes in our instrument hierarchy, 60 different InstrumentTypes such as: (TemperatureControllers, Robots, WeldingLasers, GlueDispensers, StepperMotors) -
Full DataGridView for LabVIEW - OPEN SOURCE project underway
MikaelH replied to Mike King's topic in User Interface
I've had issues on Windows 7, but no issues on Windows 10 yet. When our SW needs it and can't find it we let the user install it on the fly running this exe file: MicrosoftEdgeWebView2RuntimeInstallerX64.exe ..and that has never failed yet, maybe it could cause issues if you've installed the 32 bit version first?!? -
Full DataGridView for LabVIEW - OPEN SOURCE project underway
MikaelH replied to Mike King's topic in User Interface
FYI, I've found the WebVIEW2 WebBrowser integration into LabVIEW + a fancy DataGrid JavaScript library is a much flexible approach. We've posted the LV-64 bit supported WebView2 support here: https://github.com/ANSCenter/LcWebView2 I use http://tabulator.info/ to make nice DataGrids in LabVIEW. -
Event on Colour Change while widget is open, is this possible?
MikaelH replied to Neil Pate's topic in User Interface
Here is a start of the color selection, can someone see if we can make it faster? ColorPicker_GUI_DrawColorRectangle.vi -
Event on Colour Change while widget is open, is this possible?
MikaelH replied to Neil Pate's topic in User Interface
-
Event on Colour Change while widget is open, is this possible?
MikaelH replied to Neil Pate's topic in User Interface
-
-
I have several instances where I get null back for different datatypes, what I have to do is just to ignore the Errors from the JSON VIs. So it will convert everything it can' but when trying to convert NULL to a string it will be empty or for an int it will be zero. Ideally it would be good to be able to say when you find Null for: A strings use "" or "NULL" A INT use 0 or -1 For DBL/SGL it uses NaN and that is prefect.
-
Labview anti-pattern: Action Engines
MikaelH replied to Daklu's topic in Application Design & Architecture
What you could do is to start just using the Singleton Class template, sure it's based on OO, but you don't need to think of that, it's just like a action Engine, but instead of having everything in one VI, you can add several VIs (methods) to the Singleton library (lvlcass), and just because they belong to the same class they all share the same data. You just have to learn how to use the IPE structure to read and modify the shared data. -
I guess Vision Express, is using the Express VIs for vision?!? First never use Express VIs ;-). Second open the example VI of tracking objects: Not sure if it's in LV2019, I'm using 2020. LabVIEW 2020\examples\Vision\Tracking Third, start using LV 64-bit,
-
Labview anti-pattern: Action Engines
MikaelH replied to Daklu's topic in Application Design & Architecture
So always use Singletons instead of FGV when I know I only need one instance of an object, i.e. one memory space that should be shared in my application. Just like a global variable, but using the class to control access to the global data. I've attached a Singleton example that should get you going. The OpenGDS toolkit generates these classes and Access VIs (methods) to make it easy for you. Also I talk a bit about the Singleton pattern and how to create that here: Singletons.zip -
Leaving NI (for real this time)... for SpaceX
MikaelH replied to Aristos Queue's topic in LAVA Lounge
I'm very happy for you. Thanks for all your support over the years. Anytime you need any help, just let me know. -
If you use reference based OO, then you could avoid extra data copying. If you want to use OO you get lots of extra IDE help function with this free add-on. http://opengds.github.io/
- 5 replies
-
- dqmh
- actor framwork
-
(and 1 more)
Tagged with:
-
Here is an updated version and more complete version of this LINQ VI LcArray_LINQ.vim
-
I just have to add this fun vim using your (@drjdpowell) SQLite library. It's LINQ for LabVIEW (I only spent 20 minutes on it so it's a bit rough) LcArray_LINQ.vim
-
If you Defer Panel Updates, with that save time?
-
You can fix it in 2 ways. 1. Force open the VI and change the dll call (LabVIEW.exe) to not run in the user interface thread. I've tested this and this will speed it up 1000 times or so but... this could crash LV if this code is running in any of LV's special Application instances like Project Provider App instance (And that is where I need the performance improvements in the OpenGDS UML Modeller). 2. Yes, use a Map or Variant look up. See example VI GetTextRect_AnyThread.vi
-
Looks Cool Maybe we should make a public framework for this and a big open source library of UI components. FYI you don't need to wire an empty class constant to the create methods 🙂