Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 03/01/24 in all areas

  1. Darian Miller

    What's the general opinion on v12?

    Check out the What's New page: https://docwiki.embarcadero.com/RADStudio/Athens/en/What's_New But RAD Studio 12 does have some rough edges. See my wiki page for a few regressions: https://github.com/ideasawakened/DelphiKB/wiki/D29.ATHENS.12.0.0.0 Patch 1 (https://github.com/ideasawakened/DelphiKB/wiki/D29.ATHENS.12.0.0.1) fixes some of those, but some important ones remain. Update 1 was released 6 months after RS 11. So playing a guessing game...since RS 12 was released in early November, April might be a good guestimate for RS 12 Update 1 where most of the rough edges should be worked out.
  2. Uwe Raabe

    What's the general opinion on v12?

    There is no Delphi 12 Update 1 (yet), only Delphi 12 with Patch 1. During times a common rule had established to wait for the first Update after an initial release before starting to use a Delphi version in production. That doesn't imply not to install and start using it - just not for production. JM2C
  3. I have now also added a debug visualizer for (multi-line) strings. See the blog post for details.
  4. This will only change the TField array item, but not the local variable FieldX as expected. A const or var array of TField is no replacement for a couple of var par: TField parameters. As soon as you construct that array parameter, the addresses of the local variables are gone, while their current content (which may be undefined here) is copied to the array item. Perhaps this may be a better approach (didn't try as I am too lazy to create a fake dataset with these fields): procedure ConnectFields(Query: TDataSet; const Fields: TArray<^TField>; const Names: TArray<string>); begin Assert(Length(Fields) = Length(Names), 'Number of fields and number of names must match'); for var ix := 0 to Length(Fields) - 1 do begin Fields[ix]^ := Query.FindField(Names[ix]); if not Assigned(Fields[ix]^) then raise Exception.Create(Format('Field %s not found.', [Names[ix]])); end; end; procedure Test; var Field1, Field2, Field3, Field4: TField; begin ConnectFields(Query, [ @Field1, @Field2, @Field3, @Field4], ['Field1', 'Field2', 'Field3', 'Field4']); ... end;
  5. Lately, I see many tech blog articles about this statement.. What should I say if my manager ask me "What about Delphi?" "White House asks programmers to use only memory safe languages The American Office of the National Cyber Director, in collaboration with the White House, asks programmers to in principle only use programming languages that are memory safe. Rust is one of the languages considered suitable, while C and C++ are considered unsafe." press-release-technical-report BACK TO THE BUILDING BLOCKS Introduction to memory unsafety for vps of engineering
  6. David Heffernan

    Delphi and "Use only memory safe languages"

    What's pretty astonishing is that the NSA thinks that Delphi is memory safe! See White House urges developers to avoid C and C++, use 'memory-safe' programming languages | Tom's Hardware (tomshardware.com) I guess the NSA don't know anything about Delphi. obj := TObject.Create; obj.Free; obj.Free; Take that, NSA!
  7. Doh, you are right, Uwe!
  8. Der schöne Günther

    Delphi and "Use only memory safe languages"

    Can't add to "How does this compare to Delphi" but here's three interesting standpoints why companies have come to enjoy the memory safety of Rust: Mozilla Source: Implications of Rewriting a Browser Component in Rust - Mozilla Hacks - the Web developer blog Microsoft Source: Why Rust for safe systems programming | MSRC Blog | Microsoft Security Response Center Google Source: Google Online Security Blog: Memory Safe Languages in Android 13 (googleblog.com)
  9. David Heffernan

    What new features would you like to see in Delphi 13?

    Not according to Embarcadero. According to Embarcadero Delphi is blazing fast because it uses native code. We all know that to be absolute marketing BS and in fact Delphi compilers produce shitty code that often runs very slowly. Yes, my original post was sarcasm.
  10. Vincent Parrett

    Hyper-V server as host for 3 VMS

    Yes, and we did do that - but shared resources are aquired at the start of the stage (which means the token is in use for longer than it needs to be), so we had to split up our builds into more stages and that resulted in longer build times. I spent ages on various iterations trying different things. I found the virtualhere client would occasionally fail to disconnect the device and then builds would hang till I restarted the vh server. I guess it could be a latentcy issue, usb is very sensitive to it and our token and build servers are in different locations (300+ km). I will have a good solution to this available in a few weeks, working on a new product that makes sharing the tokens trivial (remote code signing server) and being able to code sign from any build agent.
  11. Vincent Parrett

    Hyper-V server as host for 3 VMS

    Virtual here stays connected until you tell to disconnect or the link goes down. Virtualhere client also has an "auto use this device" option so it will always be available.
  12. Fred Ahrens

    What new features would you like to see in Delphi 13?

    I don't need any new features. I just need that the existing features work as intended. And there are many areas where existing features need to be made usable again (e.g. refactoring, code formatting, HighDPI). OK, one new feature would be nice: compiling for Raspberry Pi. But fixing the existing features needs to be done first.
  13. mitch.terpak

    What new features would you like to see in Delphi 13?

    Delphi compiled to Linux is borderline unusable, whatever the reason is, I'm seeing x20 slowdown on some code (see screenshot). For example in a procedure that does Sparse Matrix Factorization. I had to port parts of our code to C++ (DLL) and will probably have to port more as work around for this. Sure it can compile longer, even if it'd compile for 30min I don't mind.
×