Jump to content

drjdpowell

Members
  • Posts

    1,964
  • Joined

  • Last visited

  • Days Won

    171

Everything posted by drjdpowell

  1. This is basically this issue: https://bitbucket.org/drjdpowell/messenger-library/issues/32/clearer-way-to-pass-addresses-as-data-over Addresses are all based on communication methods, such as a Queue, that don't work across application boundaries. The TCP messengers get around this by replacing Reply addresses on messages with a special address that routes the reply back though the TCP connection. So all the local-only communication methods will work remotely, but only for addresses passed as Reply addresses. In your example, you are passing the address as data, not as the reply address. Rather than Query, use Send, with your Queue as Reply address. Use "read reply address" at the other end to get the address (actually now a "Route Back" address) and send your two messages to it.
  2. Note: I am considering uping Messenger Library's base LabVIEW version from 2013 to 2017. This is to allow use adding actor templates that use JSONtext to do configuration, and to add VIMs to the palettes. None of my clients use LabVIEW earlier than 2017. Let me know if you use Messenger Library with LabVIEW earlier than 2017sp1 (sp1 fixed VIM bugs).
  3. That's a standard technique I use all the time to prevent unwanted code coupling. In fact I almost always do it if I have reason to pass the address of an actor. I use either "Send" or "Actor" parent classes; there is no reason to use "Actor type 2". With the Send class (the grandparent of all address classes) one also has the option of passing a TCP Messenger, allowing you to run C or D on a different machine.
  4. Thanks Oliver for pointing out this problem. I actually don't myself use a single Connection in parallel (if in parallel, I use multiple Connections), but the library should support this. The problem comes not from the single Connection, but from the preprepared SQL Statements for attribute access. They are preprepared for speed, but this means one needs to serialise use of the Statement. I've been burned by Semaphores in the past and won't use them, but I'll use some other method. Issue: https://bitbucket.org/drjdpowell/sqlite-labview/issues/10/attribute-parallel-access-bug
  5. OP said they set a long busy timeout, so the write queries will just block and execute in serial order.
  6. Try this: make a deliberate error in your SQL, such as spelling INSERT "INPERT", and see if the resulting error shows up in your web service error reporting thing. If it doesn't, then you are not seeing the errors produced by your "Exec SQL" call.
  7. Your webservice could also respond with the result of the SQL execution, including any error that might happen. Your problem is either in your webservice or your SQL, not in SQLite losing writes.
  8. What happened with those two tests I suggested? A non-Messenger-Library TCP listener, and a non-TCP actor?
  9. I have an application where the "second monitor" of the Windows computer is actually a projector, used in running a test. I display test patterns on this monitor, but the User can't see them. The problem I am having is ensuring that all dialog boxes, including error dialogs, show up on the primary screen always. But, intermittently, they start to show up on the projector. I cannot seem to discover how Windows/LabVIEW decides which monitor to show dialogs on. Does anyone know?
  10. I can only see a link to a request page, where only Pro users can make a request to presumably get older versions. There's no link to just get an older version that I can see.
  11. I just add my dlls to the LVClass that uses them, with the path to 32 or 64-bit dll generated in a Condition Disable. The EXE's then include both dlls automatically. See SQLite Library as an example.
  12. @kosist90 Here is a beta version, that you can test if you like: drjdpowell_lib_sqlite_labview-1.12.0.89.vip It's not implemented exactly the same way as your example, but it should work in the same places. See the example "SQLite Parameters in Execute".
  13. It's the difficulty in consuming text files with hundreds of thousands of log entries that makes me like a db.
  14. I have used Syslog on distributed systems. But this logger I use not for debugging during development, but for diagnosing issues in the field. So when someone says a customer reported a "strange problem" last week I can ask for the log file and see whatever was going on at that time.
  15. I have been reading various Git guides over the past couple of days, and am starting to get a grip on it. One of them mentioned the "most common way to get a detached HEAD", which I suspect has been both my and Neil's problem. That link is quite a good guide (there were other good once, but I've forgotten where that are). The key is to understand Git "branches", especially that they are not actually branches, just pointers to commits. Git is still overly complicated, though I can possibly see that the complexity is from supporting VERY large repos in projects like Linux. It is annoying that there is no obvious go-to UI for Git. The command line is poor UX. I made good progress having two UI (Gitkraken and TortoiseGit) open on the same repo at the same time and asking "why do i not see a comparable view". This allowed me to see where TortoiseGit had confusing default settings (in particular not ordering commits chronologically!). I am probably going to stick with TortoiseGit for now.
  16. Thanks. Issue 62: https://bitbucket.org/drjdpowell/jsontext/issues/62/jsontext-doesnt-apply-input-default-values Although, I'm not sure this is doable, as your default values are the default values of your on-diagram array constant, not part of the data. As that array is empty, I don't think I can access those default values inside a subVI. If you had passed a non-empty array with a default value as first element, then I could read that and use it as default.
  17. Noone, eh? Well, what do people use for logging in their applications? What is your go-to Logger?
  18. Ah, "Reflog". Another tool to fix the problems caused by the other tools.
  19. Doubtful. You went from Git from SVN, I'm coming from Hg. In Hg, if you want to go to an earlier commit, you just go to that commit. If you want to make changes, then you make a new branch coming off at that point. If you like those changes, you might merge that offshoot branch with the main one. I have yet to find anything in Git over Hg that is actually useful. I consider the possibility of losing committed work because I didn't realize I was in an "anonymous/unnamed branch" to be a strong negative.
  20. The "detached head" is a good example of the problems with git: confusing terminology for something that has no reason to exist. Why does it even allow commits not on any branch to exist as a possibility, let alone something that is easy to mistakenly do?
  21. The problems I've had have mostly been using SourceTree. I've started to just us TortoiseGit, but it is lacking compared with TortoiseHg that I used to use.
  22. I've switched to Git from Mercurial recently, and my opinion of it gets worse and worse. The number of times I've gotten stuck trying to figure out how Git got screwed up and how to fix things is way too high. Mercurial had similar issues when I first learned it, but it was an order of magnitude less than Git. Git seems to make the simple unnecessarily complicated and non-intuitive, with any step wrong leaving you in a position of not being able to fix things. with horrible gobbledygook error messages and blank stares on my part. So I must be doing something wrong. What should I read up on to make Git less crap?
  23. Does anyone use Cyth SQLite Logger? In particular, does anyone use it with Actor Framework or DQMH or similar frameworks. This logger was written by me years ago and I use it often, but in Messenger-Library based applications. I would like to know if it works properly in those frameworks. It should, I think, as they use similar Async-Called VIs as Messenger Library (Cyth SQLite Logger identifies the Async-running "actor" that makes a log entry and records it).
  24. Seems reasonable; added issue. https://bitbucket.org/drjdpowell/sqlite-labview/issues/6/add-a-execute-sql-1d-cluster-results Unfortunately, I've just released a new version, but it will go into next version.
  25. In an attempt to standardize my handling of formatting timestamps as text, I have added functions to "JDP Science Common Utilities" (a VI support package, on the Tools Network). This is used by SQLite Library (version just released) and JSONtext (next release), but they can also be used by themselves (LabVIEW 2013+). Follows RFC3339, and supports local-time offsets.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.