Leaderboard
Popular Content
Showing content with the highest reputation since 05/09/25 in Posts
-
Possibly interesting issue with a variant holding a Bcd.
PeterBelow replied to MarkShark's topic in RTL and Delphi Object Pascal
The error message indicates that the compiler is not evaluating the right-hand side expression as you expect. Instead of converting V to a string and concatenating the result to the string literal it is trying to convert the literal to a variant containing a TBcd, adding the two numbers, and then convert the result to a string. If you have a masochistic streak put a breakpoint on the statement, run to it, call up the disassembly view and F7 through the generated code (debug dcus need to be enabled). I would not call that a bug, just unexpected behaviour. But as you know, in programming the compiler is always right... 🙂 -
Capture as soon as file paste is selected
Anders Melander replied to Mustafa E. Korkmaz's topic in Windows API
How exactly would GetClipboardOwner help here? Did you read the whole thread before posting? -
Case: Please Explain Why Inline Variable Prevents Compilation
Uwe Raabe replied to rgdawson's topic in RTL and Delphi Object Pascal
The problem is inconsistency, as it compiles when f is declared as a local variable. Also see the example in the comment of Jost Riedel in the mentioned QP issue. procedure X(i: Integer); begin end; procedure Y1; var f: TFunc<Integer>; begin X(f); // compiles end; procedure Y2; begin var f: TFunc<Integer>; X(f); // fails end; -
ICS - XX: The XX field is required
Cristian Peța replied to Rolphy Reyes's topic in ICS - Internet Component Suite
How I supposed, as a field and not directly into the body. -
ICS - XX: The XX field is required
Remy Lebeau replied to Rolphy Reyes's topic in ICS - Internet Component Suite
Such as? Can you be more specific? What exactly are you entering into postman? Not without knowing what the endpoint is actually expecting, and what your actual code looks like that is not working for you. -
Possibly interesting issue with a variant holding a Bcd.
Remy Lebeau replied to MarkShark's topic in RTL and Delphi Object Pascal
It does, but in this case, since the operation involves a native type (string) on the left and a custom user type (TBcd) on the right, the operation gives the custom type an opportunity to decide whether to cast the left side to the custom type, which it does in this situation, and then the failure occurs during that cast from string to TBcd. -
https://www.iana.org/assignments/jose/jose.xhtml and https://www.iana.org/assignments/jwt/jwt.xhtml are a good start to JOSE and JWT and the RFCs that explain the standards for the numerous possible names. Angus
-
Best Practices for Secure Authentication in Delphi REST Applications
mikerabat replied to nolanmaris's topic in Network, Cloud and Web
You can use Webauthn/Passkeys/Fido2 keys . The only thing stored on the server would be a publik key that has been created on the client device! So... no need to store passwords on the server side 😉 I got the webauthn api and a wrapper for the yubiko fido2.dll here. https://github.com/mikerabat/DelphiFido2 and a (not so practical but good enough for me) example on how to use a passkey from the iphone here: https://github.com/mikerabat/fronius -
Capture as soon as file paste is selected
Anders Melander replied to Mustafa E. Korkmaz's topic in Windows API
I'm apparently not getting the message through; There is nothing special required, by neither the source nor the destination, in order to support copy/paste of files via RDP. The RDP support is transparent. If your remote application copies data onto the clipboard in the FileContents & FileGroupDescriptor formats, then the local destination will be able to paste it. Waitamoment.. I just realized that you just used remote desktop as an example. You will not actually be using remote desktop. Is that correct? So you are actually just asking how remote desktop makes the remote clipboard available to the client and how to replicate that functionality in your own client/server system. Well, I don't know the exact details of how it's done but I know enough about the clipboard and dragdrop that I can guess. On the server, the RDP host monitors the clipboard (there's an API for that). When data is copied onto the clipboard, in one of the formats supported by RDP, the server sends a message to the client with the meta data (data formats, size, etc.) of the clipboard data. On the client, the RDP client receives the message and copies the (meta) data onto the local clipboard using an IDataObject interface. On the client, some application pastes from the clipboard... The local clipboard asks the local data source, via the IDataObject interface, for the data. The local RDP receives the data request on its IDataObject interface and forwards this request to the remote RDP server. The remote RDP server in turn does the same: It asks the remote clipboard for the data, the remote clipboard asks the remote data source (whoever copied the data onto the clipboard in the first place), etc. Once the remote RDP server has the data it sends it back to the local RDP client which then supplies it, through the IDataObject, to the local application. Done. Paste complete. A normal paste can cause data to be sent back, through IDataObject, notifying the source about the paste. I don't know if RDP propagates this information all the way back to the server. -
[dcc32 Error] Type parameter 'T' must be a non-nullable value type
DelphiUdIT replied to EugeneK's topic in RTL and Delphi Object Pascal
Seems that this issue was resolved with this patch: https://blogs.embarcadero.com/rad-studio-12-3-april-patch-available/ SInce yesterday it was available on Getit and now also in the EMB portal. -
VSoft.System.Console - Delphi implementation of c# Console class
Vincent Parrett posted a topic in I made this
Hi All This is a port of the dotnet/c# Console class, which makes easy to do things like set colors, move the cursor etc. https://github.com/VSoftTechnologies/VSoft.System.Console Currently only Windows supported, however it's architected so that other platforms can be added - happy to take pull requests for that if anyone wants to add other platforms. Supports Delphi XE3 or later (compiles with XE2 but encoding issues stop it from working correctly). -
VSoft.System.Console - Delphi implementation of c# Console class
Vincent Parrett replied to Vincent Parrett's topic in I made this
The demo is very basic - haven't had time to produce anything more extensive. -
VSoft.WindowsCredentialManager - Windows Credential Manager Api
Vincent Parrett posted a topic in I made this
Hi All I published a simple wrapper over the Windows Credential Manager Api https://github.com/VSoftTechnologies/VSoft.WindowsCredentialManager -
VSoft.ThreadpoolTimer - a simple threadpool based timer
Vincent Parrett posted a topic in I made this
Hi All I published a simple threadpool based timer - currently for windows only but architected to be extended for other platforms (PR's invited) https://github.com/VSoftTechnologies/VSoft.ThreadpoolTimer The timer does not rely on windows messages (like TTimer) - so can be used in console applications and services. -
Is it worth building desktop applications with all these web frameworks?
Hans♫ replied to Rolphy Reyes's topic in Project Planning and -Management
It also depends on your need to access the hardware on the computer. If you need to access microphone, camera, harddrive, audio, USB devices, etc. you have much better control with an installed app. It is the case with both desktop and mobile devices. That's the reason we release our app on Windows, MacOS, Android and iOS. -
Is it worth building desktop applications with all these web frameworks?
Lars Fosdal replied to Rolphy Reyes's topic in Project Planning and -Management
Considering every major ERP vendor is moving to cloud, I would say that the trend is "no". However, these are typically enterprise sized ERP systems. There may be a niche for small shop owner ERPs - but there are already tons of these out there, and even some of those are cloud based. As soon as you exceed a single user, you are in database territory, and when you talk mobile apps, you definitively are in web service country. I would suggest that you really research your intended target audience to see if there is a gap where a desktop app could fill a need. I would also suggest that you narrow down and "modularize" your functionality, because the concepts of ERP systems and their near relatives are REALLY far reaching. You may suddenly find yourself in Tax, CRM, HR & Salary, document management, EDI and WMS territory. -
Is it worth building desktop applications with all these web frameworks?
Darian Miller replied to Rolphy Reyes's topic in Project Planning and -Management
I believe many people prefer native desktop applications to the typical bloat of a web application. There are some exceptions, and I am an older guy with heavy bias, but I would pay double for a native desktop application over a browser based application for just about anything. If I wanted to use it on my phone, I'd take a scaled down version, targeted with features needed to be available on-the-go. -
Is it worth building desktop applications with all these web frameworks?
Rollo62 replied to Rolphy Reyes's topic in Project Planning and -Management
If you start by 0, I would also say no, this should not be underestimated, If your question goes in the direction of an existing ERP bringing to web technology, I would say yes. Otherwise C#, PHP/Laravel or even Python will close that gap nowadays. Even large ERP systems were developed with web-technologies much faster and much more capable than desktop, before we even can start an *.EXE file This is just my opinion, perhaps there were different opinions or experiences too. -
Is it worth building desktop applications with all these web frameworks?
Patrick PREMARTIN replied to Rolphy Reyes's topic in Project Planning and -Management
For me, the generic answer would be "no", but you have to look at the use, the need and adapt. A lot of software goes online for reasons of maintenance and “simplified” access everywhere. If your software needs to be used from smartphones and desktops, the simplest solution will always be the website (even if it's sometimes complicated to do, even with tools available for Delphi developers). -
Is it possible to cast an anonymous procedure to a procedure of object ?
yonojoy replied to dormky's topic in RTL and Delphi Object Pascal
Or you could use a wrapper (as demonstrated for TNotifyEvent in https://stackoverflow.com/questions/11491593/tproctobject-to-tnotifyevent): MyTableTest.BeforeDelete := AnonProcToDataSetNotifyEvent(MyTableTest, procedure (D: TDataSet) begin LogTableOperation('MyTableTestBeforeDelete'); end); -
Is it possible to cast an anonymous procedure to a procedure of object ?
Softacom | Company replied to dormky's topic in RTL and Delphi Object Pascal
You can't just convert it, but you can make same behaviour type TDataSetAnonimouseEvent = reference to procedure(DataSet: TDataSet); TForm3 = class(TForm) FDQuery1: TFDQuery; bntAddNewEvent: TButton; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure bntAddNewEventClick(Sender: TObject); private { Private declarations } FEventLinks : TDictionary<TComponent, TDataSetAnonimouseEvent>; public { Public declarations } procedure AllTablesBeforeDelete(DataSet: TDataSet); end; var Form3: TForm3; implementation {$R *.dfm} procedure TForm3.AllTablesBeforeDelete(DataSet: TDataSet); begin //check if we have anonymous event for this component if FEventLinks.ContainsKey(DataSet) then begin //call anonymous event FEventLinks[DataSet](DataSet); end; end; procedure TForm3.bntAddNewEventClick(Sender: TObject); begin //link anonymous event to specific component FEventLinks.Add(FDQuery1, procedure(DataSet: TDataSet) begin ShowMessage('Anonimouse event!'); end ); end; procedure TForm3.FormCreate(Sender: TObject); begin FEventLinks := TDictionary<TComponent, TDataSetAnonimouseEvent>.Create; FDQuery1.BeforeDelete := AllTablesBeforeDelete; end; procedure TForm3.FormDestroy(Sender: TObject); begin FreeAndNil(FEventLinks); end; -
Is it possible to cast an anonymous procedure to a procedure of object ?
Remy Lebeau replied to dormky's topic in RTL and Delphi Object Pascal
This is documented behavior: https://docwiki.embarcadero.com/RADStudio/en/Anonymous_Methods_in_Delphi -
Generic from the RTL for sorted list of objects
dummzeuch posted a topic in RTL and Delphi Object Pascal
I'm still kind of new to using generics but I try to start using them where previously I would have created a pseudo template. I need to store some objects and access them giving a string key. I thought that a TObjectDictionary<string, TMyClass> would be the solution for this, but it turns out that it does not allow duplicates, but I need that. Later on I want to get the first matching entry and enumerate all of them. What would be the best generic container for allowing duplicates in this case, if there is any? Some kind of sorted object list? (I'm asking for generics that are part of the RTL, please don't point me to any 3rd party implementations.) -
Good morning, I'm migrating from Delphi 10.3 to Delphi 12, but I'm facing the following issue: Using the native TRibbon component in Delphi, I dynamically create its menus according to a TMainMenu and a TActionManager. Up to this point, no issues; it's creating normally as it always has. However, when I use the TRibbon property "Use Custom Frame" as True, so that the ribbon's frame becomes the main one on the screen, the following error occurs: When minimizing or switching the program to another screen, my menus, which were displaying correctly before, are now showing this "black image. Anyone know how to solve this?
-
Delphi 11.1 + patches - No debug source / breakpoints?
Attila Kovacs replied to Lars Fosdal's topic in Delphi IDE and APIs