Jump to content

Dany Marmur

  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Dany Marmur

  1. Dany Marmur

    Maximum static memory

    https://www.packtpub.com/product/delphi-high-performance/9781788625456 Not saying it will solve your problems, but if (by some reason) you have /not/ read it IMHO it will not hurt.
  2. Dany Marmur


    Any, any solution with that call. No. Just do not. It will bite back. It goes against.... everything. If you have to put that in your code... you have a much bigger problem. Anyone who thinks they have a solution when putting Application.ProcessCrap into app-code are WRONG. Just having to type that is a bell telling you you are going in the wrong direction.
  3. The data-aware grid in my experience does not know that the dataset have "FetchAll" set to true. So it will scroll from top when loading anyway. This will not help performance at all. So in order to get all the records into the grid at first activation the grid needs to scroll through the whole dataset. I do not know what grid you use and i have not used the vanilla one for ages. So activate the dataset. /Then/ connect the grid to the dataset. When connecting the grid, wrap it with Dataset.Disable/EnableControls. Test if FetchAll gives any performance benefits, this is absolutely not a given (esp. with blobs). If it is a master of a detail, also make sure that the details are not scrolled during loading of the master. The merits of uploading any number of records are many, look at DevExpress grids and what they can do if GridMode is set to false. And only then. "ServerMode" entails "translating" the user actions to refine the SQL and refresh it. In local mode a datacontroller can do a lot. The amount of work to present a rich ui for analyses is incomparable. Sure; the best practice in these cases is to not load all the data, but that is just generally best practice. If you adhere to all of those you will not get anywhere, IMHO. I make this decision for ever single grid/pivot/list that should be implemented.
  4. Dany Marmur


    A locate is a lookup + a move. If you want a DB aware lookup-like control to accept keystrokes from the user to locate that would be very tricky to code. Depending on what database and layers you are using, consider creating a calculated field at the most logical level and use that as a primary key. The "algo" would be to put the digits in position 6 and 7 first and then the rest of the information after that, 02X-BBBB or 02BBBB-X depending on the most logical order for your case. It will still be tricky (i guess have not tested) to make it "logical" for the end user if character locate is desired. In some use cases i have, the result of a calculated field can actually be better to show the end-user. Edit: When re-reading the post, i know too little. It sounds like you should use SQL, fire of a simple stand-alone query (if (qry.Fields[X].isNull) ShowMessage) where X would be the PK.
  5. Please use ISO dates. I would have to do some research in order to know if you mean 2011-03-15 or 2015-03-11. I would have to do research even to know if the "/" is information enough or if i need to know your "locale".
  6. Yes, i did dfm, and very true. It's not a perfect strategy. Thanks for the clarification.
  7. Ouch. Thx!!!, one thingy off my plate. I vas bitten too. Did not have the time to dig in to that at that moment. Delphipraxis shows its use case again!
  8. Dany Marmur

    Encryption - are multiple keys possible ?

    That is surely doable but i would say it can easily become very costly and convoluted. I would probably opt to cordon off stuff in other "dimensions".
  9. @Uwe Raabe, aha! I missed that it was discussed in the context of TDD. Now that makes sense. Thanks!
  10. Code coverage can only yield furtive information in real use-cases, no? So for that to be productive it must be implemented like madExcept/EurekaLog/Clientside logging? No? That would bog down the end-users devices (if you are not running it server-side, there sampling could yield something, but faces with a real problem that would not be the first thing to try). So, my question, or rather my theory that i would want you-all to falsify: code coverage in a test/lab environ will never yield anything useful, apart from the rubber-ducking you already gain from the code-compile-test cycle. It is a bit like telemetry, in order to make it useful, you have to get into your users pants. No? Abusing privacy and GDPR and a sleuth of other humane practices? I prefer to have an intimate relation with my client's bosses, middle-bosses and end-users. If they trust me, they will call when appropriate. And i can do my systemic problem-analysis devoid and free of idiotic speculations (a forum, bug-reporting-system, esp using e-mails, is usually pissed down with end-user speculations that i have to put time and effort into answering because of bad office-politics and the usual self-centred middle-layer-bosses fuckups. I do use code coverage analysis and tools but for optimisation of critical part of what i deliver. Very seldom, though, usually common sense is cheaper and works better. Humbly. Me.
  11. Yes! TDD would be completely detrimental to my development processes and my personal creativity. Kept my hands off that. Will keep doing that.
  12. Sometimes when juggling multiple mt-enabled 3rd party libs it is an absolute necessity. Just include units (from different libs, own code et.al) in the dfm, in the needed order and put a comment in the dfm to explain why this is key. Also - (slightl unrelated) - always minimize the IDE "auto dfm stuff" like managing main form(s). IMHO any IDE "help" is just for introduction. Serious projects should not allow the IDE to edit code at all if not specifically requested by the dev.
  13. Dany Marmur

    Console Manager for the Delphi IDE

    Wow! Like take the best of VC and put that into the IDE. Me likes!
  14. Dany Marmur

    FinTech anyone?

    I will NEVER use my skills to enable "a mench" to rip of their neighbour. Full stop. That is why i painfully RENT my apartment. Of couse!! The citizen should be the client. Not the shareholder or the actual clients (advertisers). Of course!!! This is basic human rights. I, ME, is the boss of my money, even though for Musk, my money is comparable to a cigarette but on the pavement. I'd like a bank or a "FinTech" or a service that values me a their customer. That are loyal to me first and foremost, not the owners. But if every shareholder are so much richer than me, i will never become a client, i'm a stakeholder, like on facebook. Sucks. Sure, but when an acne-ridden 20-y old tech guy get's a horn in your side... or your wife's side... it'll be like facebook 2014-2015. There's simply NO WAY to protect yourself if you jump on those business-models w/o some thought. K, i'm at a bar atm. = fiat. Sad but true as of yet. Again, i'll never allow my skills to be used by that peeps that rips off hard working people. Do you actually think, that you can implement their APIs and from that "attack vector" change their business model? You'll prolly end up in a circus-trial with some cancelling and some other base handling of human interests. Sorry for being a killjoy.
  15. Dany Marmur

    FinTech anyone?

    No, IMHO, FinTech is abusing the World.
  16. Dany Marmur

    Debug Configuration Manager for the Delphi IDE

    Sent you an e-mail. Personally, XE2 => Sydney => future....
  17. Dany Marmur

    Encryption - are multiple keys possible ?

    Then you are not alone!
  18. Dany Marmur

    Encryption - are multiple keys possible ?

    Sound a bit... confused to me. Could you clarify? Oh, yes! But i am not sure that is what you need. The RDBMS access setup should be one "metalayer" down. I hope you do not enter all those 1000 users into a "GRANT X FOR Y ON Y" repeating... like 100K times? Use roles or groups or even much muc better a middle-layer and manage you users in a table (not a system-table).
  19. Dany Marmur

    Encryption - are multiple keys possible ?

    Yes, this is what i usually suggest to my clients in this situation. "So we have "our" system, your needs do NOT extend outside the users of this specific system. Sooo.... instead of trying to adopt complex standards, let's code that auth/access/sign processes." But of course, it's about reach and scope. Specific to any implementation.
  20. Dany Marmur

    Get Parent process Current directory

    @Mike Torrettinni, we write at the exact same time. But it is clear that your understanding of these kind of endeavours are on par! If you are writing an "internal tool" you can keep you eyes on it. If you are writing software for a client with offices from Stockholm, Balkan, via the Gaza strip and down around to Burma, well, support is not that simple. Cool! Good luck!
  21. Dany Marmur

    Get Parent process Current directory

    Short "anectdote" about when integration with multi-platform softwrare. Long time ago i implemented integration between an VCL app and GroupWise. My competitors simply did not deliver. They could not do it. Me, with my single-developer-head never gave up and got the thing going. But all the small "showstoppers" that ensued because GroupWise were managed/updated/integrated through hooops, that almost killed my business. So... i was the stupid one to put effort into something that strategically was BAD. My competitors, the story do not tell, maybe they just gave up. OR they might have had someone do some research and conclude - that will be a maintenance hell. Thankfully my client ditched GroupWise at a pertinent time in history. Point being.... if you do not have a "business" that Adobe cares about, you can code and develop and they will break it because you invented ways that they do not officially keep working between versions and platforms. Sorry for being OT!
  22. Dany Marmur

    Get Parent process Current directory

    @Mike Torrettinni, k, so there's a real use-case. Cool. Integration with Photoshop (a multiplatform suite that actually has it's own platform on top, or below, that) should be done using the abilities and preferred integration strategy that Adobe suggest/documents/implement for that (Photoshop). IMHO you will run in to "thingies" for eternality. Once again, my meta-KISS-head is rearing.
  23. Dany Marmur

    Open PDF File

    Yes, yes, yes. But these things tend to cost a lot. A lot of things about the shell. If you want to show a PDF, you have a LOT of options. OS, FLOSS, paid, VCL... IMHO, dancing with the shell is a convoluted approach (if you can solve the actual problem in another way). Disclaimer: I do not write commercial software, i write targeted systems. So.... if you are writing something like snagit or x-share where the whle point is shell integration, do not listen to me.
  24. Dany Marmur

    TPopupMenu with group headers

    DO test your implementation with multimonitor DPI. All kinds. Fastidiously!
  25. Dany Marmur

    Get Parent process Current directory

    Wow! This was a long one, and i do not feel i have the time to sift. But i do have one comment (admittedly w/o knowing your actual problem and a sleuth of other parameters). The "Current directory" thingy from back when is one of the "thingies" that has bitten me most during 35 years of production. Some 10-15 years ago i have become very very very fastidious with NEVER using relative paths in Win32 desktop (VCL) and VCL-based services. I simply do not do that. The strategy is borrowed from how i handle Facebook et.al. I'm sure there is an expression or a concept for that strategy, just do not have the fancy words.