Jump to content

Dany Marmur

  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Dany Marmur

  1. Dany Marmur

    Q for MAPI Expert

    @Attila Kovacs, of course. I see.
  2. 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.
  3. Dany Marmur

    Managed dll instead of an unmanaged one

    Maybe this can help or inspire: https://www.atozed.com/crosstalk/
  4. 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.
  5. 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...
  6. 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!
  7. 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
  8. 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.
  9. I do JS in the same VM. I have noticed that "animations" (bootstrapp-y css stuff) are turned off in the VM (both Chrome and Edge) but works in the Host. The browser is just a test-area for me so i do not care. Had it been some similar "discord" in my desktop project(s) would be concerned. I'm running Hyper-V on same host.
  10. Cool 🙂 Even more if i could host Hyper-V on a Chromebook!
  11. Dany Marmur

    Bulk change of Manifest settings??

    The project options... build settings hierarchy... argh!! Never worked. Ever.
  12. Dany Marmur

    Weaknesses with MySQL and or PostgreSQL

    Witch is one of the points of avoiding MySQL, MariaDB and other (M$SQL) engines that just throws in "neat" stuff to make non-devs feel like devs. Keep to the standard (select an engine that does, firebird must be top-3 here) as much as possible and migrations may work. Also, Interbase. Their new change-views looks like a boon. But they will have to do a LOT in order for me to switch from FireBird*. * The cost is actually not an issues here. I "make" my clients donate to FBSQL as much as Interbase wold cost anyways. * Cost calculations are very tricky for deployed extensive systems. Costs rise heavily in the details where the devil is. Things like null handling et.al.
  13. Dany Marmur

    Weaknesses with MySQL and or PostgreSQL

    MySQL out of the box is a glorified filesystem. It's spread and popularity is due to LAMP amongst other things*. Oracle, PostgreSQL and Firebird all tote "industrial strength" ACID compliance. PostgreSQL is syndicated open source whilst the Firebird is managed by a foundation out of Australia. IMHO the choice between PostgreSQL and Firebird (at the point you are) is more about choosing the governance of the OS project. Personally, i went from Access and Paradox to Firebird 1.0. Never looked back. FB rocks! * MySQL, M$SQL and other "mass" market brands throw in a lot of "candy" and "chrome" into the server engine. That might be convenient for some developers but it degenerates the SQL whitepapers and may very well throw problems at you in the future (when you realize MySQL will not cut it). This is opinionated.
  14. Dany Marmur

    Showcase @Emba - should i?

    https://blogs.embarcadero.com/this-ultimate-mathematical-visualization-software-comes-with-full-delphi-source-code/?utm_source=Eloqua&utm_medium=email&utm_content=Article-210514-DataVisualization Looks interesting. But nowhere could i find the requisites for compiling the project. Is it Professional, Enterprise? Is it VCL, FMS or both? Pls do not answer "download and try yourself" because i'm sooo limited re time and that is because of Emba (10.4.2). Thankful for any insights, /D
  15. Dany Marmur

    What is the correct approach to "phone home"?

    Off: leaving my like because of RTC
  16. "Go to declaration"... i would not claim having worked in any version of Delphi or setup when this has worked 100%. But nowadays it is mostly unusable to me. First Crtl+Click... wait... nothing. Then hoover, wait for "tip", ah, it cannot find the unit. Then on to 3rd party finders. They work better but... a lot of different menus and keystrokes. And some needs maintenance like re-indexing. Sigh... On to the help system. On-line there are 404's, build-in LOTs of other problems. Not just finding a page... Sigh again... Then, "only option left", read-through the uses blocks, guess at what unit it is, right-click "open file at cursor", the Ctrl+F. Nope... some other unit. Ahhh... Try OmniPascal i VC, works a bit better, but it's the same compiler/LSP under the hood... Use Ctrl+Shift+F in VC (for the whole C:*.pas;C:*.dfm) now i have 5 versions of the identifier and have to figure what one i use... This functionality is maybe not "KEY" but when it works one saves so much time and frustration! Emba should put some special focus om this, IMHO. Arghhhh!
  17. Videos are very cumbersome for me. Is there a write-up? I mean scrollable readable text? TIA! /Dany
  18. Well, Hyper-V, as said already, is the best choice for me. There's one thing i miss from VirtualBox (and VMWare, IIRC) - the host button. I could hit Right-Ctrl and then Alt+Tab (or whatever) to tab amongst apps in the host (i.e. go-to-host-button). Anyone knows if Hyper-V/RDP has a similar function?
  19. Dany Marmur

    Theme updates incomplete

    Edit: OT, sorry! The thing is, when your eyes are running every evening, you should rest. To make your eyes run a little less, use dark theme always. In fact, the "dark theme availability" (over several apps/tools) has made my eyes much better the last couple of years. The "hard" thing is to "get used to" stuff looking completely different. The "eye catchers" you are used to are all inverted. After 30 years you must allow for some "getting used to" time. To implement a dark theme, all visual colour-based indications need to follow. A lot of apps/applications miss that so dark is like unusable (my app too). When fixed, dark is the absolutely best. Notes and Outlook even inverts the "Rich Text" areas. I would say 3-5 years before (for example) DevExpress RichEdit can do the same. I tell my clients users (only a few has actually clicked a dark skin) to have some patience because either i pollute the new project with hacks or i wait 3 years and all skins will (hopefully) work. At least better.
  20. Me too (payed VMWare, long time since, VirtualBox for some 5 years). Hyper-V IMHO (comparing to VirtualBox as my exp w/ WMWare is so dated) gives you a much "snappier" feeling all-over. Comparing performance to VirtualBox is useless as it's graphics slows down everything to a grind (my setup, my exp, yes, i know other have succeeded). Only drawback of Hyper-V is it has no "Host Button" (or does it?). Using Hyper-V (on the same machine) i have not hit anything that makes my development more cumbersome compared to doing it on the host.
  21. OnBeforePrint is the correct event. In my "FR scripts" the fields are accessed like so: <Table."FieldName"> Note the "'s. You can also use "View | Toolbars | Data Tree" and double click a field. It will be pasted into you script with the correct format for your setup. HTH, /Dany
  22. Dany Marmur

    Do bug fix patches really require active subscription?

    I do not really understand. So if there is an official source; publish that. If there is no official source, then it's ok to publish the link?? Could you re-write that in pseudo-code? Perhaps i'll be able to understand 🙂
  23. Dany Marmur

    Debugging problem (multithreaded & Intraweb)

    Can you not just cancel that dialog? Can i take this opportunity to be slight OT and deliver my last really bad debugging expirience. I have created a new DB-aware control. Using all the tricks in the book. At certain points this control produced an AV. At all times, the debugger stopped an reported the AV when calling a function in the same class (so it looked like "Self" was destroyed) taking me out to trips regarding the DX Ribbon (wrong). Then... i clicked on the madExcept callstack, more by mistake. I do not usually do that when running in "debug" mode, i have the debugger. When doing that it showed me a place deeper in the call-stack with an actual logical problem! And finally it dawned on me... damn, the stored TField object has been recreated, i knew that can happen... Had the debugger stopped at the actual AV (that madExcept did, though i was too stressed of daft to realize) i would have forgotten this coding mistake in the 5 minutes it took to take are of it. The debugger threw me off so i have testers/client end-users who have suffered (not much, but anyway). It's mostly me who have suffered, having this "worry" in the back of my head. Pfff.
  24. I must say, when in the phase to get stuff to work, i throw TDictionaries all over the place. It is fast to code, it's legible. Sometimes enabling them with a TList or TArray for sorted output or some such. Of course, if its just 10 digits, it's an array from start. Just make it readable and working! Then, when the project has been/is being deployed to some alpha/beta users and is stabile enough (in order not to confuse testers or myself) i do some extensive monitoring. That shows where the point of interest are to for example ditch a dict and use an array, or delve deep into the book to get inspiration. What i mean to say is, use the most "logical" way of storing in the beginning. Then focus on the parts of the system were it really pays. That way, you will have legible code most places and "tuned" (more complex source-reading, more sensitive maintenance) code where it really matters. Just my $,05.
  25. Dany Marmur

    Do bug fix patches really require active subscription?

    That is just... blatantly... i don't know how to... It's not... Sigh.