Jump to content

Dany Marmur

  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Dany Marmur

  1. Do Zeos "skip" or hide the prepare/unprepare stage? Anyway/anyhow, these implementation specifics would be the "way the library works" and would/could be different for each library. The most convenient behaviour for the lib users should be the goal (easily said...). Regarding this specific case i tend to agree that i would like to get an exception, otherwise i might do something resource-intensive by mistake. Here, IMHO, devs will use trial-and-error (i'm not advocating it, simply stating). If an exception is thrown (would be done at #4 too upon access w/o open?) "they" will be "nudged" to read-up and handle the resources correctly. And if a reprepare/reopen is called, the dev intentionally requested that. So at first glance #4 looks good.
  2. Dany Marmur

    JSON parsing question

    { "myArray": [10, 20, 30, 40], "myObject":{"subValue":44}, "version":"1.2" } { "myArray": [10, 20, 30, 40], "myObject":{"subValue":43, "subName":"AHA!"} } If "version" is missing, it's null. If "subName" is missing it's null. Or to express it differently any conceivable value not specified is null. It's actually like objects in JavaScript, you can almost "add anything to them anywhere". Or like this; If a JSON does not have a schema, then you can definitely miss "stuff" if you "analyse" it. So JSON requires documentation or a kind of "schema" IMHO, at least in your use case. HTH, correct me if needed.
  3. Dany Marmur

    Class tree utility released

    Excuse my stressed question (i do not have the time to...) what is the difference between this (OT) and DelphiAST? TIA, /Dany
  4. Dany Marmur

    Need suggestion on developing a custom component

    The way Alexander solved the OP problem is a brilliant example for when to use one "technology" and ditch another. The OP was about VCL? Yes? I would have thought that FMX already had thingies to cover for what i these days find are easier achieved in HTML5/CCS3 compared to Win32/VCL painting approach. But each time i read a post on FMX, if digging, i conclude that FMX is... they peeps that are into it are not happy. (I have only used VCL, oh and OWL and C++ and APIs, but never FMX). I actively subscribe to Alexanders "office suite". This is gold for me. But regarding desktop VCL stuff i have DX. Regarding desktop VCL stuff there are a lot of alternatives! Alexander do not need to put effort into the site, because all and every one who payed up for any version of his components is happy. Me too! Mr. Sviridienkov is showing some pretty effective "muscles" regarding building components. I have some personal ideas and comments about the way support and subscription is handled, but i am sure that as his business grows he will put those thing in place. If not for me so for him, himself and and his. If you have only the finances for one 3rd party component suite, go HTML components!
  5. Dany Marmur

    Few do-not in website

    Attribute? <tag-name attribute-name="attribute-value"></tag-name>
  6. Hello Trevor! Normally, i would pay for licenced "components" or "libraries". Sources intended to be incorporated in "any" project but more importantly something that is properly interfaced (not depending on more stuff, and so on). So; i see screenshots of an application. Is it is only after i have purchased a licence that i can actually put my head around the code-stack? I cannot see anything about the code itself. How would i know anything about integrating "source code" into *my* project if i ether cannot have docs + demos or sources (before payment) to scrutinize? I have an "application framework" of my own (as does many developers), so i am rather confused as to how to evaluate your offer. TIA, /Dany
  7. @haentschman all the love for Firebird!! Frickin' cool RDBMS engine ūüôā W/o the big companies meddling (a.k.a foundation-based). @all, check out 4.0. Just released!
  8. Dany Marmur

    OmniPascal: Auto-Implementation of methods not working

    In that case, my laudable applauds! Saw the issue "SmartPascal - OmniPascal". I have an old bad conscience where i got Mr. Budde to start implementing a VC LSP for SmartPascal (w/o the RTl-ish stuff). The project never kicked off (mostly because of my neglect). But it would be an absolute BOON if Emba + Wosi would author [VC] LSPs for both Delpi/Freepascal. And if the SMS team would have an interest, they could do VC by plugging into Delphi LSP. But they want to sell their IDE + RTL-ish stuff.
  9. Dany Marmur

    FireDAC: Need help understanding "ConnectedStoredUsage"

    The statement in "docs" you referred to is blatantly super-non-verbose. Never use complex 3rd party lib w/o sources.
  10. Dany Marmur

    Few do-not in website

    You mean "client side", in all invocations of all the browsers i personally use? Server-side i deliver *everything* from the same server. No CDNs, no trickery, no 3rd party anything. Just knockout.js (and bootstrap but that sh*t that will be purged in 6 months hopefully, meaning jQuery will go away too). Thanks!
  11. Dany Marmur

    Few do-not in website

    It's kind of funny that they (fb) used the path "tr" for that endpoint. TRacking. Why did you put the red square on the google gets above and below? Are you saying the above and below requests are related or is it to emphasize the double square to the right?
  12. Dany Marmur

    Few do-not in website

    @Anders Melander, so ok, they use Jira... I know you said that to add information in order to cater for the OPs ruminations. But i cannot refrain... All decisions are decisions and someone "took" them. M: So we want a captcha. DV: It's a bit tricky in Jira. M: So do trickery, then. DV: OK. Result: nobody no-one not anyone "own" or remembers this. Kas Ob (and me) suffers... Should have been (1): M: So we want a captcha. DV/A: Why? M.... Result: working login Jira page. Should have been (alt 2): M: So we want a captcha. DV: It's a bit tricky i Jira. A: Why do we want a captcha? Why do we need Jira? What is would the results of a "trick" be? DV/M/A: [5 hours of weighing scenarios] Fuck captcha! Result: working login Jira page. ** or ** Should have been (alt 3): M: So we want a captcha. DV: It's a bit tricky i Jira. A: Why do we want a captcha? Why do we need Jira? What is would the results of a "trick" be? DV/M/A: [5 hours of weighing scenarios] Fuck Jira! Result: Neat and nice clamped down system for doing what is important. Happy Kas (and me)! ** or ** Should have been (3): M: So we want a captcha. DV: It's a bit tricky i Jira. A: Why do we want a captcha? Why do we need Jira? What is would the results of a "trick" be? M/A: [5 hours of weighing scenarios] Fuck the DV, get his a** kicked! Result: Better Emba. My $.005
  13. Dany Marmur

    Fail faster than calling Connected := True?

    @bobD, well, you'll have to choose "technology" from the base of your needs. FTOMH, Some DACs have the concept of "delayed updates". Might work good with a DB without too many triggers. This is a kind of client-centered approach since the client has the logic for updating several rows at a time (deferred posts). Then you could synchronize DBs server-wise, here comes changed views (or FB triggers) in use. Good for a database where the "main stuff" (i.e. the sychronized tables) are few and their updating not over-complicated. None of these two approaches requires you to write a middle-tier server (perhaps you would need a server-side process with a DAC to do the actual synching but that is another thing) A middle tier would pack a request of data into some proprietary format (yes, a ClientDataSet could be used to transport the data) and send that up the line. For changes a middle-tier server could either work with the client using a "delta"-scheme (to only process changes) or a edit-post-scheme (communicate the events of a TDataSet). I'm sure there are additional techniques.
  14. Dany Marmur

    Fail faster than calling Connected := True?

    When i had direct connections to DBs from applications, i would do the connection in a thread so the UI at least was responsive during a possible time-out trial. The only solution that will cover this is a middle-tier. One could probably write a very small https server that only knows/cares about the DBs availability (sits on the same machine) and thus every now and then checks the DB. You could the make a simple request to that "database discovery service". /D
  15. Dany Marmur

    How to Highlight a Control that Fails Validation

    This sound like your starting point. You send something to someone (server). Then you should get a response (as you indicate above). Does the response contain validation information? Then that information must be mapped to the control (perhaps via a field DataLink) and code written to indicate what is a miss. If the response does not contain error information specific enough, then you option would be to show an error message unconnected to the "field" that is the culprit. Show us the response from the server for better advice.
  16. Dany Marmur

    Q for MAPI Expert

    In Winapi.MAPI there is the InitMapi method called before a lot of operations. I have traced into that method from TSendMail.Execute. The method tries to read some registry keys but fails. I have checked another MAPI implementation i have access to, the one in madExcept. That exact registry check can be found there to, but it's commented out (!). I have been googling but there's so much noise! Is it a VCL (Vcl.ExtActns/Winapi.MAPI units) bug? TIA, /Dany
  17. Dany Marmur

    Q for MAPI Expert

    @Attila Kovacs, of course. I see.
  18. Dany Marmur

    Q for MAPI Expert

    @Attila Kovacs perhaps its time to put it up on git? What do you think? I have had benefits from the unit. And i would guess other will.
  19. Dany Marmur

    Managed dll instead of an unmanaged one

    Maybe this can help or inspire: https://www.atozed.com/crosstalk/
  20. Dany Marmur

    nil v self in form create??

    That is like... 30% of the information needed to understand the concept. VCL object management do work. And is properly documented.
  21. Dany Marmur

    SmartScreen troubles

    I do not do the same but... my clients' IT-departments (various) do the requests and mail me the result. I put the certs into my server(s). During the years, i have had more problems with the clients' that use comodo/sectigo compared to the other clients. If that helps at all...
  22. Dany Marmur

    How do I check for empty rows in a string grid?

    So fix the actual problem before asking/looking for a workaround. Asking us to help you by-pass problem that you created it not constructive. Oh, ah! Just realized i wrote an "heffernandic" post!
  23. Dany Marmur

    Delphi FireDAC .Post on Firebird table

    This is about the database and the different ways it allows for the DAC (and thus you) to reduce the use of server resources. I'll not go into details. IBObjects has a very good tutorial on FB transactions you can dive into. There's a lot about OAT and more. The database design is another ballpark but related because of the way you can access you data when you have it normalized correctly. IMHO all you database tables should have a primary key. IMHO autogenerate all keys, either using a sequence or a GUID, do not try to build a key out of "real world data", use indexes for that so that the columns and relations can be changed in production; if for example sizes of garment cannot be expressed with 5 characters any more. XXXXXL might popup up in the future. You would need to change the type of that column. Much trickier and costly if it is a primary key. The value will never have to be displayed to a user, but when you build a REST server you will be so happy you can do idempotent apis by just storing that ID and doing a simple DSQL update. HTH, /D
  24. EDIT: Man i did not read you post through, yes exactly that! Sorry. I need my coffee. Because of the IDE ecosystem being what it is (and it might not be as bad as one thinks when having some problems). First off, just installing two Delphi versions on the same machine gives a scare. More importantly, if a client refuses to keep up with what i as a vendor do when i move up the versions, i need to retain the maintainability of that specific system. Having all; IDE, third-party components, plugins and all the tools around it; installed on a VM (i still needed to fire up Delphi 2009 in a xp four years ago) is a good way of not having to upgrade every little thing you have ever deployed. Just for example a TDataSet based lib from Delphi 3 to XE2. Sometimes (especially a decade, two decades ago) 3rdparty components would show breaking changes between Delphi versions. Oh, and older licencing schemes was based on when IDE version you were using. Imagine to pay up through 10 just because of once client who one paid up for a specific project.