Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

30 Excellent

Technical Information

  • Delphi-Version
    Delphi 10.3 Rio

Recent Profile Visitors

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

  1. microtronx

    Delphi 10.4.2 first impressions

    Installation went good from 10.4.1 to 10.4.2. Only problem I had, was with third party components / packages. I.e. I had to reinstall i.e. Reportbuilder 20.04 for Sydney but now it starts without any problems. Anyone using 10.4 (or 10.4.2) in production environment? We're stuck at 10.3 ...
  2. What about only creating your form without applying the saved changes? = That should be your design time state, or I'm wrong?
  3. microtronx

    Delphi is 26 years old - Marco's blog

    ... wow, I also know that old DOS - blue background Turbo Pascal .. crazy. It feels like i worked with it "last year" ... so it feels like only 1-2 years of experience 😉
  4. Thank you very much @AndreMussche. Your https://github.com/andremussche/asmprofiler has saved my day ... my week ... after searching the bug and not finding it by myself ... and a "not working AQ..." demo 😉 I found your project! What a good coincidence! Don't know, if others know your work .. but they definitely should! Very good job! Thanks again!
  5. microtronx

    HTML Library review and sale: 25% off.

    Very stable and good components + very good support. We can recommend htmlcomponents fully! Thanks for your work Alexander!
  6. I have created a global "tDictionary<tComponent, tmxEvents>" and a small helper function to return an entry or add an entry if it does not exists ... working perfect. Thanks for your tips guys.
  7. Hi, which is the simpliest way to add new properties to a existing component in runtime? Lets say we have a tDataset and I want to att a fList:tList to it in runtime, if it does not exists. Is this possible?
  8. I found spring4d but there was no demo or i've not seen any demo how to use that. How is Event<T> used?
  9. After searching the internet a lot i've decided to create a new unit to be able to assign multiple afterscroll or afteropen events to one component ... very simple in runtime. Informations on https://www.delphipraxis.net/143341-event-multicast-problem-howto-sender-methodname.html helped me to create a basic unit. Pls check it at https://github.com/MicrotronX/Multicast-Events I know, there must be something better out there ... but for me this works very good ... PS: I cannot guarantee that the source code is free of bugs! Example-Usage in a tDataset descant: unit myMulticastEventDatasetUnit; interface uses System.Classes, Data.DB, mxEventsUnit; type tmyMulticastEventDataset=class(tDataset) private function fmxevents_get:tmxevents; public fmxEvents:TmxEvents; constructor Create(AOwner:TComponent); override; destructor Destroy; override; published property mxEvents:TmxEvents read fmxevents_get; end; implementation constructor tmyMulticastEventDataset.Create(AOwner: TComponent); begin inherited; fmxEvents:=nil; end; destructor tmyMulticastEventDataset.Destroy; begin if assigned(fmxEvents) then fmxEvents.free; fmxEvents:=nil; inherited; end; function tmyMulticastEventDataset.fmxevents_get: tmxevents; begin // we Create the tmxEvents only if there is a need if not assigned(fmxevents) then begin fmxEvents:=tmxEvents.create(self); end; result:=fmxevents; end; end. If someone knows a way to inject this into tDataset itself, you're free to change the code! Declarations for Examples: myDS:tmyMulticastEventDataset; procedure FirstAfterScrollEvent(vDataset:tDataset); procedure SecondAfterScrollEvent(vDataset:tDataset); Example-Usage for registering a AfterScroll Event: myDS.mxEvents.Event('AfterScroll').AddDatasetNotifyEvent('uniquenameforevent1', FirstAfterScrollEvent) ; myDS.mxEvents.Event('AfterScroll').AddDatasetNotifyEvent('uniquenameforevent2', SecondAfterScrollEvent) ; Example-usage for disabling a already registered AfterScroll Event: myMCDS1.mxEvents.Event('AfterScroll').Disable('uniquenameforevent1') ; myMCDS1.mxEvents.Event('AfterScroll').Disable('uniquenameforevent2') ;
  10. microtronx

    Delphi 10.4.1 and the IDE FIx Pack

    Why we do not go another way ... and why does Embarcadero do not give Andreas free lifetime licenses or a lifetime subscription? We / Subscription owners pay a lot and sometimes we don't get anything within that subscription period + Andreas is doing / has done a lot for Delphi in the last years ... so this would be a very good roi for embarcadero IMO. I don't know if Andreas would accept this ... but if he can, it would be a big plus for delphi ...
  11. I would use "Exit;". Having nearly same needs and have a created a tObject for managing a tDictionary<string, __myrecord> to manage everything ... very fast IMO. Be sure to use "MonitorEnter" and MonitorExit if this can be used in multithreaded applications like function tmyComponent.getvaluerecord(vName: string; const vDefaultValue: variant): __MyRecord; var vValue:__MyRecord; begin if MonitorEnter(fDATA, fMonitorTimeout) then begin try vname:=trim(lowercase(vname)); if fData.TryGetValue(vname, result)=false then begin // we don't have that key in dictionary ... return default value ... or create a new entry etc.. result.vwert:=vDefaultValue; result.isObject:=false; result.isFile:=false; result.doFreeObject:=false; result.vcomponent:=nil; result.vname:=''; result.vdtstamp:=0; result.vtype:=''; result.vgroup:=''; end; finally MonitorExit(fDATA); end; end; end;
  12. microtronx

    Up-to-date 32 bit libmysql.dll?

    Any news here? We're also searching for a updated libmysql.dll in 32bit for mysql8.
  13. I think the Patch has uninstalled all components (Teechart Standard is one of them) which i had selected in time of installation ... right after the patch installed i saw all optional software & languages not installed any more in platform manager. After reinstalling them with platform manager (tools menu), everything fine again ...
  14. Ok, after reinstalling missing components over Tools + Platform manager = everything working again 😉
  15. Uninstalling that patch leaves a damaged system! it seems that the patch has uninstalled a lot of components / addons. Now i try to go through Tools menu to install languages, teechart and Androidsdk again ... lets see what happens ...