Jump to content

Dany Marmur

  • Content Count

  • Joined

  • Last visited

  • Days Won


Dany Marmur last won the day on October 3

Dany Marmur had the most liked content!

Community Reputation

188 Excellent

Recent Profile Visitors

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

  1. Dany Marmur

    Database app good practice

    You can start by tring to... - Create a TDataModule and drop some TDataSets (you DACs queries) on it. - Put TDataSoures on a TFrame and link them to the TDataModule. - Put the TFrame on a form and link the forms buttons to the frames TActions. ...and see what happens (but create a small test project). The frame has the datamodule in interface uses, the form has the frame in interface section uses. When the number of datamodules and frames increase, a lot of component suites has "Link" components. You can, for example, if it suits your needs put a ConnectionLink component on the second... third... TDatamodule and link it to a singular Connection component. ... Primoz's books are great!! There's also "MVVM in Delphi- Architecting and Building Model View ViewModel Applications" but it will not speak of the TDataset based "model". They differ too much IMHO.
  2. Dany Marmur

    How to optimize exe loading times

    I don't know where to start... Thank you all for you comments! @Clément, this is a new project. I have been at it for 3 years 🙂 It will become OpenSource when i have finished the work with the current client, then all can scrutinize. It is a 3-tier system, so during exe startup, no datasets are activated, but a lot of resources are loaded. DevExpress multi-record controls and layouts can be loaded with all datasets active = false (!) so first the user sees the layout and can select tabs and then the user can "load/activate data". It's really very nifty. Data activation and loading are well tuned so it's almost looks like activating memdatasets, even over 4G. Thing is i have made it a "portable install" (because of some client needs) and as such trying to maintain "one exe only" (this is of course one issue in this context). So, to answer @Mahdi Safsafi too, no dll's at all. I have not had the time to check with a profiler yet. I'm sure i will reach lots of conclusions... and i will revisit this thread. 10-4. /Dany
  3. Dany Marmur

    How to optimize exe loading times

    Same pointer/advice as have been stated already in the second comment (hr. Gunther).
  4. Dany Marmur

    How to optimize exe loading times

    It's my app. I know that shit intimately... i wrote it all. The post is not about those things.
  5. Dany Marmur

    How to optimize exe loading times

    The hoops and loops these days... just take a look at Teams; mostly animations to make the viewer think thing are fast. Illusions.
  6. Dany Marmur

    How to optimize exe loading times

    No, because i'll have to interpret all that stuff. My post is about resources for interpreting all that. I suspect i could create a ticket with DX but generally such questions are not treated with... umpf! Or to put my post differently, where do i focus? Where do i start in order not to loose days on useless stuff? I'll start with a profiler, thanks!
  7. I did NOT write that. Most definitely not. I did not get close to the details above. Where to start... but it takes an effort and time to produce a viable MVP for such a case (even if publishing is "just" here). When it hits you, you fix the problem, swear (on yourself) and move on. I seldom feel the need to document my own f¤ck&ps 🙂 i just move on. Experience will not sit better if i over-use notepads. Sorry for being a "best practices" - "everything else is folly" kind of poster. There is two of us here now. Sorry, truly.
  8. OK, me again in a needy mood ... I tried to search here and there and... somewhere... but. I am looking for resources pointing to a "modus" to first off measure what takes what time when my exe is loaded. So some kind of writeup of the different stages and dfm-resources and other resources. Or perhaps using a profiler and understanding what it reports. Then after having mapped "sections/scopes/what-not" during application load, i would like to move on to resources with hints on what can be done. Of course, for such endeavours some properties are significant about the project itself: VCL 32/64 bit DevExpress BarManager/Ribbon/Layoutcontrol/GridViews/PivitGrids/Skinning/Scrolling/Painting and then some... FastReports... RTC... IBObjects (think a really tight and well working FireDAC with sources but only for FB/IB)... madExcept... kbmMemTable... I think those are the focus points in this project. TIA, /Dany
  9. Dany Marmur

    Primary Key on FDMemTable

    Just a guess... no a question actually, isn't the little property value (soPrimary) not for making transfers of datasets in a tree-tier solution? The primary key is "not null" but needs to be sent/retrieved as "null" to get the correct (centralized) sequencer or trigger value, the property would indicate that special handling is needed to all tiers. That was previously my understanding. But if you have the sources you could simply grep it. And i think this is TDataset, not FireDAC. Pls correct me!
  10. So true and you will notice it even more when you have to "jump" between completely different projects (like a huge server project, a VCL based client, a JS/TypeScript project and so on and so forth... after a while you start to REALLY appreciate OPs strictness (well, at least most times). No, milliseconds that evolve to minutes per moth, in these cases both we and our clients might well be better served by maintainable code!!
  11. Dany Marmur

    looking for animated 3D lettering

    I just got a deja-vu on all those posts about animating a toolbar icon i VCL.Idle time. Hosts of peeps wanted to make it work, all seniors answered "dont". So the gurus do not have to: https://stackoverflow.com/questions/9573572/how-to-use-animated-gif-in-a-delphi-form
  12. Dany Marmur

    Interbase Metadata View User Privileges

    So, it's about your IP. Not security, not performance, not need-driven development. I'm sorry but i cannot spot any other formal need for doing it in your post.
  13. Dany Marmur

    Interbase Metadata View User Privileges

    @Sriram is definately correct. Hiding metadata, IMHO, is like encrypting a chunk of javascript in order to protect your IP. It is not a brilliant idea from start so i think that you need a lot on your feet for starting such a project/endeavour. You would also need a higher level of maintenance and secure funding because you are the only one who can use tools on that database. I have had a few IB/FB databases sent my way where the problem was the client, not the DB.
  14. You all lost me here... I added some properties (public, not published) to TkbmMemTable, TIBOQuery and more. As long as it is the ancestor of everything else you can use interceptors / interposers. Google "Delphi interposer" Or, if you do not mind all-runtime you can simply inherit and create the objects runtime for your own flavour, lDS := TMyFDMemData.Create; But, no, if you want to add a property to TDataset it will not be added to, for example TkbmMemTable or TFDMemTable (or whatitiscalled) or any other classes inheriting from TDataset. There's no way to "intercept" even using by-the-book OOP. The TDictionary/TList approach is not bad at all, i use it a lot. Tags make me a bit nervous 🙂 Also, depending on what you are trying to achieve there are some global instance variables in Data.DB that you can reassign at application startup. For example to speed up lookups.
  15. Dany Marmur

    NERO5 chess engine

    Oh, i thought that was for the pieces. "Goto Queens Pawn"...