

Rollo62
Members-
Content Count
1945 -
Joined
-
Last visited
-
Days Won
24
Everything posted by Rollo62
-
Yes, what I meant was the original idea of TPM (as 2FA). You're right, and IMHO it means that all firmware/software TPM solutions were OoA (Obsolete on Arrival). But from a user's perspective I love the idea of the virtual/firmware TPM, to open some options.
-
Because as far as I understand TPM is a kind like a separate hardware 2FA for the PC, which is maybe good for the people who needs this level of safety (officials, companies, etc.). I don't like or need it either, but to have TPM virtualized makes not much sense also IMHO. To serve its intended purpose it should prevent copying machines, so that means also prevent against copying VM. VM vendors of the world unite, and find a hacky workaround for this TPM stuff 👊 Maybe best of all TPM would have a switch, to let the user device ( which is always best ).
-
An alternative could be the progress dialog in the app itself (or you have to try something in Java).
-
Interesting idea to add some small "blur" with compression, I thought filters like lancosz, added enough "blur" already. I have to check that next time, if this idea can offer visually better image quality.
-
I understand that your app starts and works, only when terminating it crashes after a while, is that correct ? Are you doing some long operations in UI or threads, without properly stopping them before going to background ? Did you ask for any unusual or dangerous permissions, which could cause such problems, or is it just a form-like DB application ?
-
@Alexander Sviridenkov Thanks, thats a great help. Do you also have a similar page for the supported HTML5 features ?
-
@Alexander Sviridenkov Thanks for that great library too, from my side. For custom design you should also mention that SVG support is great, and all in all it offers many ways for incredible user interfaces. Since the library is somewhat between HTML1.1 and HTML5, I would like to know when you think that you followed up HTML5 CSS3 completely ? My favorite would be the CSS Grids, which could make a lot of other stuff obsolete, but there is a lot more in HTML5. Do you have a "compatibility list", or kind of "CanIUse", for the current library ? I think that could be very helpful for people who want to mix HTML5 and Delphi.
-
I wonder what that means for VmWare (Fusion/Workstation) Win11 guests https://docs.vmware.com/en/VMware-Fusion/11/com.vmware.fusion.using.doc/GUID-4EC58A68-BE9E-42F6-B005-4BB63AE5D85B.html Do we now have to encrypt all guests, and cannot move them around easily ?
-
Win64 Starting an external exe and capturing the standard output text...
Rollo62 replied to Roger Cigol's topic in General Help
DosCommand should be available in GetIt -
How long are those tasks ? This can be probably be done by threads in the background, when app goes to Background the OS gives usually some time to finish everything, I'm not sure but I think that works up to 10 min. without big problem (if not the new OS versions have reduced that). Just a few operations should be OK, if its not too timeconsuming.
-
Services react usually on some system events, like notification, to run services in the background with heavy tasks in mobile is highly restricted and not really wanted by the OS manufacturer. https://developer.android.com/guide/components/services https://developer.android.com/reference/android/app/Service#ProcessLifecycle I really would recommend not to start with a service as first project, to get a better idea about what is possible in mobile, and whats not. To have a stable main app should be your first goal. Mainly these are no theoretical technical issues, but permission issues. The phones are really very sensitive and killing your app without any warning, if something goes against their everchanging rules, which make it hard to debug. Timers can be possible, but they are not the normal timers as we know it. https://github.com/grijjy/DelphiPlatformTimerQueue You better explain what you really want to do with it.
-
Mobile platforms behave pretty much different, try logging instead of debugging. Debugging in a service, not sure if this is working at all. FMX behaves not as easy as VCL was (which is not caused by FMX, but by the platforms most of the time ).
-
Usual timer do not work in mobile services. For such hardware related system, I would also consider to use a real device, forget the emulator. Only real hardware will show you real problems with the app. Try to use the latest Delphi version, 10.2.3 is already centuries behind, and its already tough to get 10.3.3 running with current devices.
-
Spring4D 2.0 sneak peek - the evolution of performance
Rollo62 replied to Stefan Glienke's topic in Tips / Blogs / Tutorials / Videos
Yes, I have projects with precompiled S4D and some earlier projects with S4D from sources, which I hold in different VM's and not need to compile very often. Still that is pretty much OK for me, even when compiling from Sources, but once V2.0 is released I might migrate all of them to the precompiled version. Big promise -
Spring4D 2.0 sneak peek - the evolution of performance
Rollo62 replied to Stefan Glienke's topic in Tips / Blogs / Tutorials / Videos
@Stefan Glienke Thanks for that nice library, its really outstanding. I still have to explore more of the billion features, and meanwhile I'm always looking "Spring-first" if I need a new feature What I always notice here, is that Spring.Collections.dcu is growing to be really by orders the biggest file in my projects, same as the compille time of Spring.Collections is the longest when compiling from source. In the Spring.Collections I see a lot of types defined, do you think that further separation and modularization of those types into separate units would help to limit the maximum file size to an acceptable level, if not reduce the overal size? -
Have you checked that ComHandle is valid and accessible ? Maybe the hardware behind has died or changed. Can you open and read the port with other tools ?
-
MulDiv( ) : Integer; in Delphi, cannot find this in the RTL (cross-platform)
Rollo62 posted a topic in RTL and Delphi Object Pascal
Hi there, I just wanted to use MulDiv, and my initial reflex was just take it , but: It seems not to be there in Systems, Math or the other, only in Winapi.Windows is the Windows version. I would bet my left finger that MulDiv should be there, am I missing something. The only thing I can find, from older messages, like this: function MathRound(AValue: Extended): Int64; inline; begin if AValue >= 0 then Result := Trunc(AValue + 0.5) else Result := Trunc(AValue - 0.5); end; function MulDiv(nNumber, nNumerator, nDenominator: Integer): Integer; begin if nDenominator = 0 then Result := -1 else Result := MathRound(Int64(nNumber) * Int64(nNumerator) / nDenominator); end; That looks a way over the top to me, why do they need floating point ? I will use it like this: function MulDiv(nNumber, nNumerator, nDenominator: Integer): Integer; begin if nDenominator = 0 then Result := -1 else Result := (Int64(nNumber) * Int64(nNumerator)) div nDenominator); end; But much better if someone can tell me where can I find a cross-platform, optimized version in the RTL ? -
MulDiv( ) : Integer; in Delphi, cannot find this in the RTL (cross-platform)
Rollo62 replied to Rollo62's topic in RTL and Delphi Object Pascal
Ok, thanks. But a simple MulDiv for Integer 32-Bit ? Nothing pops up. At least they are using the same method than I do for Int32. MulDiv64 := Int64((Int128(AValue) * Int128(AMul)) div Int128(ADiv)). -
Hi there, I'm trying to make the right choice for above, and tried some simple function. I also have seen a nice explanation about that from David When comparing both options, it seems to have only minor differences, see below. (Rx10.4.2) What I asked myself if there is any advantage of the record constructor over class function anyway, also in regard of the more modern CustomRecords ? type TRecConstructor = record private FValue : Integer; constructor Create( const AValue : Integer ); end; TRecClassFunc = record private FValue : Integer; class function Create( const AValue : Integer ) : TRecClassFunc; static; end; procedure TS4DunitX_Basic__Tests.Test01; var LRecCon : TRecConstructor; LRecCls : TRecClassFunc; begin LRecCon := TRecConstructor.Create( 42 ); LRecCls := TRecClassFunc.Create( 84 ); end; { TRecConstructor } constructor TRecConstructor.Create(const AValue: Integer); begin FValue := AValue; end; { TRecClassFunc } class function TRecClassFunc.Create(const AValue: Integer): TRecClassFunc; begin Result.FValue := AValue; end;
-
Advantages of record constructor over record class function, reviewed after CustomRecords
Rollo62 replied to Rollo62's topic in RTL and Delphi Object Pascal
Beside memory, I think of "constructor" Create as the necessary 1st step to setup an item correctly, before I can make use of anything from this item. Thats not the case for records, I could work without a "creation", that why I dislike the "Create" nomenclature for records and look for something that points out the difference. (and of course, I could name constructors anything else, but that makes it even more fuzzy). -
Advantages of record constructor over record class function, reviewed after CustomRecords
Rollo62 replied to Rollo62's topic in RTL and Delphi Object Pascal
Ok, I will leave the class functions then as-is, if this makes no practical difference. Concerning the "constructor" naming, has a somewhat different meaning IMHO, not so well fitting to records. I will stay with the naming convention "class function TMyRecord.Make(...) : TMyRecord; static;" instead of construtors then, to be sure not to mix both concepts. -
When will be binding to Swift libraries possible ?
Rollo62 replied to Rollo62's topic in Cross-platform
@Dalija Prasnikar Thanks, that is not so bad news than I expected. We better all vote for RSP-22944 then, to keep things moving. -
Out parameter is read before set
Rollo62 replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Yes and no, I mean "out" is giving back a fresh variable to its caller. The state before should be considered undefined, it can exist, can have values, can be nil. I would say that in the 1. line inside the method, this does not exist, since the out parameter shall give back a new parameter. Whatever it was before shall not matter. From my opinion this is what "out" should originally stands for, even if it maybe can be misused somehow. On the other side, "var" brings in an existing parameter, inside the method, which can be used or changed at will. -
Out parameter is read before set
Rollo62 replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
The message tells you: The out parameter should be considered as not-existing inside the method, so it cannot be used before its creation. If you want to use it like that you maybe better consider to use a var parameter. -
Hi there, I checked the latest Spring4D master, and it seems that the TPair<K,V> was removed from Spring.Collections.pas TPair<TKey, TValue> = packed record Key: TKey; Value: TValue; constructor Create(const key: TKey; const value: TValue); end; I know this was redundant in System.Generics.Collections.pas, but now I have to include this unit to get access to TPair. From the philosophy of S4D I understood that Spring.Collections should be able to replace the System.Generics.Collections in the long run completely, so I wonder why this TPair was removed then, its used in many places. That means I need to keep a reference to both units now, if I need this. Does this really make sense, why was it removed, and why not for example moved, separated into another Spring unit ?