Jump to content

Andrea Raimondi

  • Content Count

  • Joined

  • Last visited

Community Reputation

4 Neutral

Recent Profile Visitors

133 profile views
  1. Andrea Raimondi

    RTTI usage and edge cases :) Can't use GetType on T

    Yeah, makes sense what you're saying, I'll have a look at this, First thing though I want to make it work 🙂
  2. Andrea Raimondi


    The download URL is a network disk. Seriously, that's not how you're supposed to do it. Especially not a Baidu disk, but even the others would be problematic. I mentioned GDrive and wasn't pleased with that either. Contact info: none of which leads to the domain. Now, why is that important? Quite simply, because - as non Chinese - we have no way to tell which of those methods will be "private" or at least as private as you can be in China. Someone may need help for a commercial application and there has to be a reasonable expectation of privacy, which just isn't there when the Government can access all and any communications easily. The 163.com one is nearly certainly hosted on Chinese servers, which is troubling privacy-wise, especially for those of us in Europe for the reasons mentioned above. I will concede that it's been around for pretty much as long as the internet in China because the numbers in URLs in China have special marketing meaning (for example 888.com was a thing). As for the fact you're laughing at the suggestion, as I said, we have a supposedly "leader of the free world" who is embroiled in a Russia-defined scandal. At this point, I am just not ready to discount anything. I can't even download the thing because I don't have a VM to put it on for analysis. If it were on GitHub, for example, I could safely browse the source code and have a poke around, but as it is, I can't.
  3. Andrea Raimondi


    It is MEANT to have a negative connotation: they are clearly not doing things properly. No domain name, no proper download section (it's a GDrive, really!?), no simple way to understand who's boss. There is a non-zero chance that this library may be a plant from some Chinese security department to get a foothold in the Delphi developers' community. If you think that this is fantasy, keep in mind that in the Oval Office there is somebody who is alleged to have conspired with Russia. All of it screams "this is weird" and I haven''t even downloaded it for this very reason.
  4. Hello! I am building a generic CSV importer. The basic idea is to have an importer that I can call like so: var MyImporter : TCSVImporter; MyData : TMyData; MyDataList : TList<TMyData>; begin MyImporter := TCSVImporter.Create; MyDataList := TList<TMyData>.Create; MyDataList.Capacity := 1000; MyImporter.LoadCSV<TMyData>( FileName, Separator ); while MyImporter.NextLine<TMyData>( MyData ) do begin MyDataList.Add( MyData ); end; MyImporter.Free; end; The problem is that Delphi has become picky over what constitutes a "type". This is the problematic code: procedure TCSVSchemaBuilder.BuldSchema<T>(SchemaTemplate: T); var AType : TRttiType; begin FSchemaItems.Clear; FNumRequired := 0; // Get type AType := RTTIContext.GetType( TypeInfo(SchemaTemplate) ); // if it's one of the correct types if AType.TypeKind in [ tkRecord,tkClass,tkInterface ] then begin if AType.TypeKind = tkClass then BuildSchemaFromClass( AType ) else if AType.TypeKind = tkRecord then begin if AType.IsRecord then BuildSchemaFromRecord( AType.AsRecord ); end else begin // If it's not a record or class, but it's still good, then it must be an interface type! BuildSchemaFromInterface( AType as TRttiInterfaceType ); end; end else begin raise EImportSchema.Create('Cannot create schema by type '+AType.Name ); end; if FSchemaItems.Count = 0 then raise EImportSchema.Create('Schema is missing critical information. Cannot proceed for '+AType.Name); end; The error I get is: Which is obviously a load of infamy because I have T there and that should be considered a type. This is especially true if we're saying that generics are done at compile time, an invalid type would have to block compilation. What are your thoughts? Workarounds? Should this be submitted to QC because it is clearly a compiler bug? Kind Regards, A
  5. Andrea Raimondi


    Look, I am all for commercial components where it makes sense, but these people... just no. They need to get a proper website, proper payment providers, etc. What the heck is that? No, no, no, please encourage these people to do the right thing.
  6. Andrea Raimondi

    Linux Support on Pro Edition

    I both agree and disagree at once 🙂 I know, I do this often! 🙂 But let me explain. I AGREE: Linux should be available for Pro and Community edition I DISAGREE: At the moment, Emba does not have anything "Enterprise-y" for Linux in Enterprise besides Linux itself. Is this going to change? I don't know. I have already pointed this out to them as well, so who knows 🙂 And there is another thing as well: objectively, there are going to be far fewer people who will want a Linux edition of their servers given that a lot of Windows developers already have business arrangements with hosters for Windows machines and many just manage these in-house. Plus, honestly, how many developers used to FOSS will actually pay for Delphi? They will still probably settle for Lazarus and FPC because, hey, free! It's a difficult act to balance methinks which is why I can see both sides of the issue. But I fundamentally agree: it should be available.
  7. Andrea Raimondi

    SQLite - FireDAC or ?

    Depends on what edition you have. If you have Pro, the main advantage with LiteDAC is that you can then use other providers as well to connect to a remote datababse.
  8. Andrea Raimondi

    Making MAPI work solidly

    Use RAPWare and all your nightmares will be laid to rest.
  9. Andrea Raimondi

    Pack exe using UPX

    I am very surprised by this question. The biggest problem that UPX has is that Windows is blind-sided and memory management for the application at system level becomes a mess. The same is true for all other packers, including stuff such as Ice Licence (is that still around!?). I have never used that stuff, never felt a need for it.
  10. Andrea Raimondi

    Book contents survey

    Hello! Over the weekend I have posted a survey in various FB Delphi communities about my book's content planning. Here's the link: Survey Please do take it if you want, it's short and sweet: 6 questions. Kind Regards, A
  11. Andrea Raimondi

    Web dashboard application

    Hi! The beauty of Delphi is that if you design things properly you don't have to settle. Start easy with DMVC, which also has demos for Bootstrap to get you started and make sure that your data classes are well separated by the DMVC code. Once you have that running, you can really look into alternatives. The only issue would be the events: for that, I would go with push notifications (for example, Kinvey) on all platforms. The reason for this is that you're still going to need them on mobile, so you may just as well use them across the board. Then again, plan it properly and you can change things around a fair bit.
  12. Andrea Raimondi

    Change the background color of a TEdit

    Just find the corresponding style resource. The colour is there.
  13. Hello! I have a day job that I enjoy very much, but I'd be interested in extra, short-term assignments. If you got anything that you can't do for whatever reason, please give me a shout,