-
Content Count
1112 -
Joined
-
Last visited
-
Days Won
96
Everything posted by Dalija Prasnikar
-
August 2020 GM Blog post
Dalija Prasnikar replied to Darian Miller's topic in Tips / Blogs / Tutorials / Videos
If you want to discuss then forum is the right place, if you have specific question then SO is the right place to go. I would not say it is about preferences, but what you need at particular moment. Besides Delphi I am using other tools for development, most notably Android Studio and Xcode. I never needed forums to solve my problems... I could find all the answers on SO and official documentation. Hanging out with other developers and discussing all kinds of things... well, Delphi forums and communities were more than enough for me. -
August 2020 GM Blog post
Dalija Prasnikar replied to Darian Miller's topic in Tips / Blogs / Tutorials / Videos
Great colors... make me blind... since color theme matches horrible 10.4 colors, this is all Embarcadero or Idera production... -
August 2020 GM Blog post
Dalija Prasnikar replied to Darian Miller's topic in Tips / Blogs / Tutorials / Videos
Not really... official forums were already dead. They basically died when NNTP was dropped. -
Debugger in 10.3.3 is useless :'(
Dalija Prasnikar replied to Clément's topic in Delphi IDE and APIs
I voted for it, but I would not hold my breath... this will be either closed as won't fix or will stay open for a long time. -
There is no support for release id as such, but every Windows 10 release id has corresponding build number. For instance Creators is 15063. So you can check whether build is 15063 or greater.
-
There is TOSVersion record in SysUtils that holds OS version information. But you cannot check for particular version by name, you need to know its build number.
-
Precisely timed display output on Android
Dalija Prasnikar replied to TurboMagic's topic in Cross-platform
You need different architecture to achieve such timing. Timer is not precise enough and even if you can make it precise, there will always be other events that will mess up your timer schedule. You need a some kind of game loop. Basically, you should not rely on timer to calculate and paint your screen, you need to trigger paint event with delta time and based on that time (elapsed from last paint) you will calculate positions and render your screen. Some starting point: https://gamedev.stackexchange.com/questions/651/how-should-i-write-a-main-game-loop -
How do you organize developing new features in big projects?
Dalija Prasnikar replied to Mike Torrettinni's topic in General Help
Manual version control is an oxymoron - there is no such thing as manual version control. It is not about something working perfectly or not, it is about manual version control not working at all. All you have are backups of your code at some point in time. Nothing else. -
How do you organize developing new features in big projects?
Dalija Prasnikar replied to Mike Torrettinni's topic in General Help
Depending on the feature. If I need to test some general concept and/or feature is not tightly coupled with app I will make separate test project until I figure whether it will work as intended. If feature is tightly coupled with rest of the application I will create new feature branch in that app repository and start from there, even if compiling/running takes time. But, this is what we are trying to tell you, not having VCS is an issue. Because, new feature workflow highly depends on VCS. I know it may seem that learning how to use VCS takes valuable time, but you can get that time back in a week (literally). -
Does debugger handle WITH better in latest versions, 10.3+?
Dalija Prasnikar replied to Mike Torrettinni's topic in General Help
It still does not work in 10.4 -
It would help if you would stick to one thread instead of posting separate topics... it is hard to track what is going on with pieces of information scattered around.
-
Patch 2 for RAD Studio 10.4 now available
Dalija Prasnikar replied to Marco Cantu's topic in General Help
Are you calling me insane???? This is my actual code!!! 😜 -
Patch 2 for RAD Studio 10.4 now available
Dalija Prasnikar replied to Marco Cantu's topic in General Help
LOL, it looks like fix for my code literally broke Vincent's code https://quality.embarcadero.com/browse/RSP-28761 -
Patch 2 for RAD Studio 10.4 now available
Dalija Prasnikar replied to Marco Cantu's topic in General Help
Honestly... I don't care if compiler broke your code... they released fix for compiler bug that broke my code... -
Patch 2 for RAD Studio 10.4 now available
Dalija Prasnikar replied to Marco Cantu's topic in General Help
"If you can't laugh, what can you do?" -
Apple Silicon is terminology used for Apple designed, ARM based chips https://en.wikipedia.org/wiki/Apple_Silicon
-
I literally just started typing same sentence. Delphi devs always complain all logic is dumped in form (event handlers), Android devs always complain all logic is dumped in Activity (Delphi form equivalent), iOs devs always complain all logic is dumped in ViewController (again Delphi form equivalent)...
-
Should Delphi have native interfaces?
Dalija Prasnikar replied to Koru's topic in RTL and Delphi Object Pascal
I am not against evolution, but that evolution must follow some basic rules - and not all rules are Delphi specific, some common language rules also apply. If you are building a castle, you cannot go ahead and add another tower by ruining the foundations first. As far as rest of your posts is concerned, I am sorry to say, but I have hard time understanding what you want to say. Maybe it is the fact that you want to design things in different order is throwing me off course, maybe it is something else, but I cannot exactly pinpoint it. -
Should Delphi have native interfaces?
Dalija Prasnikar replied to Koru's topic in RTL and Delphi Object Pascal
One thing worth mentioning because you seem to take interface-class relation backwards. The whole purpose of interfaces (COM or native, or whatever) is that they are abstraction. They just define API, not the implementation. It is class that implements interface and knows about the interface, not the other way around. In other words, interface should never ever know anything about classes that implement interface and any proposals that violate that are practically useless. -
FreeAndNil 10.4 vs 10.3.1 and Pointers
Dalija Prasnikar replied to Sherlock's topic in RTL and Delphi Object Pascal
Everyone please vote for Global Generics https://quality.embarcadero.com/browse/RSP-13724 So we can have type safe FreeAndNil without quirks and lies. -
FreeAndNil 10.4 vs 10.3.1 and Pointers
Dalija Prasnikar replied to Sherlock's topic in RTL and Delphi Object Pascal
Maybe you will find some answers here https://dalijap.blogspot.com/2020/06/magic-behind-freeandnil.html -
Just to make it clear, I am not dismissing using dictionary mapping where it fits better (if you don't have up front defined set of actions at call site), I am merely objecting to the notion that using integer tags is toy programming.
-
Sorry, but I don't see how if Sender is FooButton then DoFoo else if Sender is BarButton then DoBar .... Is preferable to case TComponent(Sender).Tag of TAG_FOO : DoFoo; TAG_BAR : DoBar; ... end; It also gets worse if you have several Senders that perform same task - for instance, button and menu (I know that you can have actions, but actions share same caption - not always preferable, especially in non-English environments) I am aware that you can also add dictionary and map actions that way, but then you need to maintain dictionary, its lifetime, mappings and on top of that you don't have spelled out logic in place where action happens - following code through dictionary is debugging nightmare. Mappings are mappings... you can always use wrong mapping being it integer based or not.
-
For stuffing in pointers and such... it is not appropriate, but for storing integer values that can later be used to determine appropriate action... why would that be wrong or used only in toy apps? In Delphi I never used Tag in toy apps knocked up in minutes, because they were pretty simple, but in more complex ones, especially with dynamic content and multiple entry points for actions, tag is the most straight forward thing to use and maintain. Also, just yesterday, I wrote a whole a lot of tag based code in native Xcode iOS application where native view also has tag property specifically used for determining which action you want to run. And there just like in Delphi you have Sender object that you can also use to determine appropriate action, but just like in Delphi code working with objects would be more convoluted and using Tag is preferred when you have to determine or change action at runtime.
-
Delphi Rio 10.3.3 reinstall after uninstalling Delphi 10.4 doesn't update filetypes in registry
Dalija Prasnikar replied to vhanla's topic in Delphi IDE and APIs
Try going to to Options -> IDE - File Associations and doing Deselect All, Select All and Save. That should restore file associations for version where you have run Options dialog. In theory file associations will be reset as soon you save Options even without going to File Associations tab.