Jump to content

Dany Marmur

  • Content Count

  • Joined

  • Last visited

  • Days Won


Dany Marmur last won the day on May 20

Dany Marmur had the most liked content!

Community Reputation

258 Excellent

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Dany Marmur

    DevExpress PDF Viewer

    I do not think this is an ok comment. We have a load of well-written libs with very old sites. Not just Joe's. Another discourse is the thing when new kids look and Delphi stuff looks "old". That is another discourse altogether.
  2. If you are on the paranoid side, use asserts or throw an exception. You could wrap these raises in {$IFDEF DEBUG} compiler directives (or your own XTRADEBUG or some such) if you are hot on performance. HTH
  3. Dany Marmur

    DevExpress PDF Viewer

    Delphi 10.4.2 (Release) Delphi VCL 20.2 Ribbon Based Application (Empty Toolbar): 18 394 624 bytes Delphi VCL 20.2 Ribbon Based Application + TdxPDFViewer: 24 261 120 bytes Delphi VCL 20.2 Ribbon Based Application + TdxPDFViewer + Ribbon Toolbar: 24 375 808 Delphi Windows VCL Application: 2 578 432 bytes Delphi Windows VCL Application + TdxPDFViewer: 17 472 000 bytes Delphi Windows VCL Application + TdxPDFViewer + Toolbar* (2 TcxImageLists, an ActionList and a TdxBarManager ) 17 586 176 bytes DevExpress will allow you to convert docx, rtf through their TdxRichEditControl / TdxRichEditDocumentServer. That will, however add more to your exe size. I cannot access DevExpress site atm to see if PDFViewer is sold "standalone", but licence costs aside, @Alexander Sviridenkovs suggestion will probably lend you much more flexibility and smaller sizes. HTH
  4. Dany Marmur

    Send a message to App users??

    Well, a timer-based code chunk that creates and display an app modal window. Of course, i do not know your app, but that sounds a bit dangerous to me. Will it display properly if another modal is active?
  5. It comes to mind that Firebird (i know) have/had different architectures. I do not know about interbase these days. The classic would be faster to connect but would create a new process. The superserver (?) would be one process with shares cache. So it is conceivable that the first connection to a database would take longer even though another application/process is the active connection. But it's pure speculation as i have no knowledge of modern Interbase nor Datasnap.
  6. Dany Marmur

    Anybody changing FileVersion directly in dproj file?

    I can and do do that. And it's 10 minutes QC. Not a huge problem (yet). When it becomes a problem, i will solve it. That is my live "in a nutshell", solving problems for myself and my clients. Even for my friends. But in order to "stay on top of things" i need to have serious pipeline. Nothing more, nothing less. As much respect as i have for you and your posts, i'm sure there are stuff you struggle with that i got pinned down some 20 years ago. Or not. Anyhow, i am so OT. I'll stop now.
  7. Dany Marmur

    Anybody changing FileVersion directly in dproj file?

    Because i run a one-man shop. If i adhere to all best practices everywhere that would be the only thing i would have time to do. It will come, but it will come when i have the time to allocate mental capacity. Basically my non-technical problem is this: https://xkcd.com/1319/ So before i start to wrap my head around the alternatives, i cannot know if it will be the time-save that i need. Wrapping my head around the intricacies might even cost me more (in hours/mental juice) even if i find a good solution. So /my/ problem description is all but technical and actually, OT in this thread, apologies for that.
  8. Dany Marmur

    Anybody changing FileVersion directly in dproj file?

    Project management in the IDE is utterly broken. Quoting from another post. I still do (build for prod in the IDE) but i have a hand-written checklist that i fastidiously follow each and every time. It is painful, because sometimes i release several times a week. Edge cases more than one release per day. Dangerous and bad is my analysis.
  9. Sorry, but i cannot refrain. The OQ matches the OP's avatar name perfectly!
  10. Dany Marmur

    Console Manager for the Delphi IDE

    I do not know about political implication of charging. But managing a lot of $5-10 in as many different payment channels is a bit of a PITA. Embarcadero Play Store? Now that would probably be a bigger PITA. Or maybe we have it already and i am just ignorant. Running a one-man shop, these things plie up and becomes a resource-hog. For me personally (at least this year), the /price/ is not a problem, the adm. around it is.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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".