Jump to content

Dany Marmur

  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Dany Marmur

  1. Dany Marmur

    Delphi 10.4.2 Professional

    @Fr0sT.Brutal, in that case, my sincere apologies! I want to express my gratitude for pointing out such ignorance. I want the whole world to know that i was utterly unaware of the grave rights-issues that follow such ignorance as my own. Luckily i'm not a politician, had i been i would have blamed my poor eyesight and my too small laptop screen. Thanks!
  2. Dany Marmur

    Delphi 10.4.2 Professional

    I would give some for a 20-yr old keyboard with a metal base. Miss those. Don't need the windoze-button much. My eyes are very runny these days, so after wiping them i use the same cloth to wipe the keyboard. Works every time 🙂
  3. Dany Marmur

    Delphi 10.4.2 Professional

    @Anders Melander, my gaming-rig does not even have a graphics card. Let alone fancy lightning (there are some colorful leds on the motherboard but i do not see them). It was merely a way of getting the most cycles per buck, and promptly delivered. I would love a high end Xeon from Dell but that is 2,5 times the price. It has a huge fan, a huge (cheaper, clocked) cpu and some really nice memory and M2 disks. Definitely no barbies. None whatsoever.
  4. Dany Marmur

    Delphi 10.4.2 Professional

    If you set up visual inheritance with advanced (complex, convoluted) controls like DX and skinning and all, yes form loading in the IDE (even Berlin) can take an inordinate amount of time. Avoid Visual inheritance except for two levels. Use frames and do not put more levels on frames either. In the IDE disable all lull-lull (skins). And, as other wrote, livebinding => kill. The speedups that our house guru always put together are not available for 10.4.2 (correct me if wrong) so Dalia above have identified one of the more pertaining stuff that Hausladen (IDE fix pack, speedup) did previously. I bought a gaming-rig to be able to do (convoluted) visual stuff in 10.4.2. I'll probably have to buy another one in 2-3 years 😞
  5. Dany Marmur

    Transforming Data (Pivot ?)

    I am not 100% well and not at my workstation. If i recall you are correct. But anyways, the "DrillDown" connection thingy is quite cool, end users can "pinpoint" the actual underlying record of a cell. I have not implmented it in my "modern" projects, but did so back in 2010. The "drilldown" was appreciated. It stands to reason that if you tweak the Pivot itself, you have to do some tweaking in the connector "classes". Also consider using the "DX Printing System" vs the export library (excel). I have had to do a lot of tweaking for printing Pivots*. And... IMHO - if you are at a late version wait for their "standalone" charting connectors. As things stand now it's a part of the QuantumGrid. HTH, /D * Mainly cultural stuff as swedes do not appreciate all the shading and colorations and boxes and shadow on a printed paper. To my end users it's completely idiotic that a printed paper looks different if you change the application skin. To me too, actually.
  6. Dany Marmur

    Transforming Data (Pivot ?)

    That is a solution, but if you succeed to have the Pivot handle it you will benefit from working end-user functionality like re-arranging the fields, filtering, exporting and a lot more. Now i feel like a DevExpress salesperson. I'm out.
  7. Dany Marmur

    Transforming Data (Pivot ?)

    Fiddle with the DX PivotGrid some and then some and i cannot guarantee, but i think you should be able to produce the desired result. It was originally designed only to show rows/column values where a "sum" could be done (only numbers). Recently you can use Max/Min instead of only Sum (according to the ticketing) but the actual change (quite recent, iirc) has passed me by. If you are having a discussion with DX support, do have them realize that you are skilled enough to inherit from their code.
  8. Dany Marmur

    Problem with TBGrid connected to SQLite

    Long since i used vanilla DBGrid, but... try assigning to the grid datasource's dataset before opening it. Just a guess...
  9. What i have done in my last project is to have TQuery (the analog) and it's support components (Transaction, Session at. al) on a TDataModule. When designing controls (layouts, grid, et. al) designtime i connect the components (visual) to a "DataSource" on the form (i call these local ones). Then link the TDataSources DataSet property to the TQuery on the datamodule. At runtime, due to architectural hierarchies i connect the TDataSource (already connected to the component in designtime) to the datamodule. THIS step is only because i do not want my form to "know" about the datamodule (i have it the other way around), my datamodules are created dynamically depending on a lot of factors and i do not want to use the "DFM linking" thing of the IDE because same IDE often breaks those links. If i have Queries that depend on each other i link them together directly in the DataModule. So my design will look a bit strange because there are some TDataSources on the datamodule and a lot of them om the form (actually a frame). So to speak from behind the keyboard; TDataSource is exactly the component that connects your data (TQuery) with your visual controls (TDBEdit, TDBGrid). You can place the TDataSource where it is most convenient for you. You can have several. For me it is very convenient to have the DataSource's that are linked from Visual Controls on the Form or Frame and the ones linking TQueries together on the TDataModule. What to think about here? Certainly when things move in a good direction the number of items will build up. You can create another TDataModule (when needed) and swap the TDataSource's DataSet property to the "new" or alternate TQuery (runtime). At some point you will find that it is not so nice to have the DataModule in the interface uses clause in the form and the form in the uses clause of the datamodule. Moving your TDataSource around can help you to leverage circular dependencies (together with your own events). OOP-wise TDataSource goes down to the "bottom" so most stuff is compatible. HTH, /Dany
  10. Dany Marmur

    Learning Delphi

    Who said that?
  11. Dany Marmur

    List of usable RegEx for source code

    I HATE it when there is an interesting discussion under a non-topic (discord between OP title and what's actually being discussed). OT is trying to make code-review with a "set of regexps". I would not even glance at that because i have Delphi AST (FLOSS, BTW). Pls create new treads. You do let you code do it a lot 🙂
  12. Dany Marmur

    Learning Delphi

    @David Schwartz, nice neat write-up! Is that something you have in your back-pocket or did you just type from the top of your head? Either-or, it became a very IMHO pertinent guide into Delphi's quirks. Then, being first and formally an educator, there are all the quirks from other langs/environs that people brings into the D-word for no reason what so ever. I'd like to see a similar concise writeup about all those pitfalls 🙂 Thanks!
  13. Dany Marmur

    I will be less active for a few weeks

    Här ägnar journalisterna mer tid åt att skriva om vad Ni (nordiska grannar) tycker om Oss i stället för hur vi har det Här. KRYA på sig!!! Over here, the media is putting more effort into "analysing" what You (Norwegians, Danish, Finnish, Icelandic's) thinks about us (Swedes) than what is actually happening here. Do get well! Personally i have not even sneezed since 2018-05 or some such. My in-living daughter, her dog and boyfriend have had colds and throat aces and stuff throughout, tested negative at all occasions. Makes me really worried what will happen when i encounter a common cold next time. The auto-defence-system needs to be kept in action and at the same time not to be overwhelmed. Very similar to choosing a pattern when facing a coding conundrum... Or mixing powder for fireworks.
  14. Dany Marmur

    Email Tampering

    As @Vandrovnik says, IMHO he agrees with me. It depends on the "culture" of all who e-mails "you". 🙂
  15. Dany Marmur

    Email Tampering

    Measure! Try trials. Setup a "sandbox". IMHO the values/factors will be dependent on your specific stream of messages.
  16. Dany Marmur

    changing inherited control

    You do not have to do anything to your dfm. To use OO like that use the same classname, qualify the ancestor with it's unit. https://zarko-gajic.iz.hr/delphi-interceptor-classes-tbutton-classtbutton/ Or ... create a package with TMyDBGrid,install into the IDE and drop your TMyDBGrid on forms. HTH /D
  17. Dany Marmur

    Determining why Delphi App Hangs

    Yes! A good example is RTC message driven Client with multithreading. Quite brilliant.
  18. Dany Marmur

    Determining why Delphi App Hangs

    C'mon peeps - keep to the OP topic. No one posting of late actually needs the help regarding message pumping/threads. You are just having a FUD IMHO.
  19. Dany Marmur

    Determining why Delphi App Hangs

    Check out the TkbmMemTable "AttachedTo" property!
  20. Dany Marmur

    Determining why Delphi App Hangs

    I, on the other hand, am wondering how things are going for the OP. Did you solve the problem @ewong?
  21. Dany Marmur

    SQL SubStr

    "1901" <= "190"? It is not. "1801" >= "180"? Yes. WHERE ARD.CODE >= '180' and (SUBSTR(ARD.CODE, 1, 3) <= '190' Aside; SUBSTR('180', 1, 3), besides being useless, is not very readable. HTH
  22. Dany Marmur

    Determining why Delphi App Hangs

    Am i wrong, but i seem to remember that the progress bar actually calls Application.ProcessMessages. IMHO that could be your problem. Messages starts to pile up because of something and then when that is finished all those messages gets processed and it looks like a "release". Anyways, show us the code. You could do an MVP using a TClientDataSet perhaps.
  23. Dany Marmur

    Warning and Error at the same time?

    If "Out of memory" is considered an error. Oh, yes! In abundance.
  24. Dany Marmur

    How to kick TDataset to filter record(s)

    You lost med there. I do not see a call to any filter function in the code.
  25. Dany Marmur

    Min & Max

    Can you do this using your function? var lSomeObject: TObject; begin Result := MyInlineIfFunction(FValue, CConst, lSomeObject.Value); end; Assuming FValue is true, will you get the result of CConst or an AV/GPF?