DelphiUdIT
Members-
Content Count
611 -
Joined
-
Last visited
-
Days Won
11
Everything posted by DelphiUdIT
-
You can simply do from IDE (start it with administror privilege): Double click on "Register":
-
I start in Delphi using Rad Studio and I missed lots of "voices" of refactoring menu, they are disabled. (CTRl SHITF E) open the search tab (like if you press (CTRL F)). I don't have that exception. My "interop" are inside "bin" folder and there is a TLB file that you can use to register the "type library".
-
To capture the screen you can simply make a video with your smartphone.
-
Resizing Object Inspector Pane in 12.2p2
DelphiUdIT replied to Attila Kovacs's topic in Delphi IDE and APIs
I have a monitor (laptop) 2560 x 1660 with 100% scale and a secondary monitor FULL HD. I don't have this issue in whatever configuration I set (like @dummzeuch). I can resize the panels and it's working. Bye -
I have been using it for many years and have never changed it... int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved) {....}
-
And where exactly? It would be useful to know...
-
Me too thought that. And it's for this that I start using inline variable, sò no one can use the "index" outside the loop. Bye
-
The structure was changed and reported to the release notes: The new field "val" is an Hcpar type. It contains the old "HPar" members ("par" pointer) and "&type". So, while before it was possible to access the value of the Tuple directly, now it is accessed via "par": var fDeviceHandle: HTuple; ----- //New way if fDeviceHandle.val.par.l <> 0 then ..... //Old way if fDeviceHandle.val.l <> 0 then Other important thing is that the float field "f" doesn't exist anymore .... (I dont' know any official notes about that). This should not have a major impact on the code, since "f" is a further definition of an identically field type "d", so replacing "f" with "d" in the code will make both the old and new code compile without errors and without any {$IFDEF... This is the first time in many years that they have changed the interface to a basic structure like HTuple making the code totally incompatible with the past. In the past they had changed some definition of some parameters, but by changing only the declaration of the variable everything was back to normal without any change in the "procedural" code (I remember something about the parameters of the "get_mposition" function for example). What I did: 1) Copy all include files (except Halcon.h) in a single directory wherever you want; 2) Run CHET (this is my example): You will see some errors about include files not found ... change the relative path in the source originated the error. Retry the RUN, and go redoing the same until all errors are gone. After that you have the PAS file. Now You have to change (in reality move at the top of file) some declarations, for obviuos reasons that you will see ... is more complicated to explain that to do. Some change to definitions (like NULL), and you should also modifiy some declarations that point to wrong DLL, refer to my original wrapper searching for "LIB_MVTEC_SYSTEM". Without this you will have a runtime error in the application if you use some system functions. A little bit too: you must delete (or divide) some very long commented lines: That's all.
-
For a long time I have always used the form "\\?\". It has some advantages (like bypass MAX_PATH limits and the name parsing). See here: https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN#win32-file-namespaces Bye
-
chatgpt can convert 32bit asm into 64bit
DelphiUdIT replied to RDP1974's topic in RTL and Delphi Object Pascal
For something to be patentable it must have a creative and innovative character. I don't think that a few lines of assembler can be considered as such. -
Catch the clipboard is really simply, why don't you do it ? Using the JvClipboardMonitor, you can "ear" all "copy" actions, you can also choose what you are cacthing (look at source of JvClipboardMonitor and Microsoft docs). That example is simple, no control about the "paste". That catch also the administrator level "copy" and all copy / paste password .... like @Brandon Staggs said. unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, JvComponentBase, JvClipboardMonitor, Vcl.StdCtrls; type TForm1 = class(TForm) JvClipboardMonitor1: TJvClipboardMonitor; Memo1: TMemo; procedure JvClipboardMonitor1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.JvClipboardMonitor1Change(Sender: TObject); begin Memo1.PasteFromClipboard; Memo1.Lines.Add(#10#13); end; end.
-
I update this topic 'cause new versions are released of Halcon (and quote Matthias that were interested about that). I post a Delphi wrapper around this, not a really Delphi wrapper, only a porting from C headers that I have done with CHET. Take care that some adjustments should be done from your previous sources because in Halcon are changed some records (Tuples), and for other reasons too. Read carefully the "Release Notes for HALCON 24.11.1.0 Progress-Steady" (https://www.mvtec.com/products/halcon/work-with-halcon/documentation/release-notes-2411-1) for full details. I tried the new wrapper only partially. Bye HalconC_2411.pas
-
The indication on the "GOTO" page is not precise, it was always like this.
-
Something wrong with your update, the build should be "29.0.53982.0329" ...
-
Signotaur Code Signing Server - Looking for beta testers
DelphiUdIT replied to Vincent Parrett's topic in Delphi Third-Party
A digital signature remains valid until it or the issuing certificate (chain trust) is revoked. When it expires in time, it is still considered valid. You cannot use a certificateto for signing purpose that has already expired, obviously. As for OSCP and CRL, in any case the possibility of invalidating a signature (or a certificate) must be guaranteed ... it is the basis of the concept of public signature. I don't know for how long it will still be possible to use "file" certificates like those of LET'S Encrypt for uses other than simple SSL ... the legislation (for example the Italian one) considers the digital signature valid ONLY and EXCLUSIVELY if produced by HARDWARE devices (specific), and it seems to me that the rest of the world follows this. So certificates with a validity of less than 1 year are not feasible if combined with classic USB TOKENS for example. Bye -
Signotaur Code Signing Server - Looking for beta testers
DelphiUdIT replied to Vincent Parrett's topic in Delphi Third-Party
A public signature is subject to revocation, which I can imagine would happen very quickly if a malware signature is verified. Also, the signature would be easily identifiable and the malware could therefore be blocked in virtually "zero time". -
And all the features about 12.2 Release. The CE edition is like the 12.1.
-
Here will be all features for the various RAD Studio Editions (included CE): https://www.embarcadero.com/docs/rad-studio-feature-matrix.pdf
-
ZLib inside the ICS FTP Client - CVE-2016-9842 - zlib:1.2.8
DelphiUdIT replied to M-Brig's topic in ICS - Internet Component Suite
If you refer to this notice of CVE: https://github.com/madler/zlib/issues/868 they have resolved with 1.3.1 version. And the new Delphi version use the right version: -
Sorry, but you are not right. For example no one can ACQUIRE data about HEALT status without your explicity WRITTEN and PREVIOUS consent. Thw European law is not only about how you threat the data, but also about you acquire the data ... So if one send you a screen shoot with name, age a healt status behind the scenes, you will be in fault if you don't have the explicity consent. This happened to a client of mine (for whom I made a piece of management software). It is not uncommon to find difficulties in sending information, that is, sending it and having a response, due to the GDPR.
-
I dont' know these components, but the error (you show incomplete message) seems to indicate that the scanner driver is not installed (or the scanner is offline). Again, I do not know the components nor have I ever developed a scanner application, and I could certainly be wrong.
-
I really don't know what to say ... I have no issues about this, and I debug to asm level too. But I really don't have any issues on debugging. And I'm using the offline installer too (I've always used it). Good luck.
-
How to get the version of Delphi that the App is built with?
DelphiUdIT replied to Ian Branch's topic in General Help
You don't have the UPDATE version of RTL (I mean 12.0, 12.1, 12.2) with VERxxx. By now if you see a lot of packages like Indy, FastReport, Jvcl, etc ... they use near they same like you example, but there is not minor version (UPDATE) identity: you can see Delphi12 but not Delphi 12.2, all minor releases are indentified like Delphi12. -
How to get the version of Delphi that the App is built with?
DelphiUdIT replied to Ian Branch's topic in General Help
I explain BAD: the example I suggest is like @limelect do with JVCL -> VERSION IS FROM APP INFO, NOT FROM DELPHI VERSION. FOR Delphi version, like I told more times there is the "GetRTLVersion" function from System uniti: https://docwiki.embarcadero.com/Libraries/Athens/en/System.GetRTLVersion -
How to get the version of Delphi that the App is built with?
DelphiUdIT replied to Ian Branch's topic in General Help
It come from INFO from application setting. You can use also in this way (I use it since decades without JVCL) ( EDIT :THIS EXAMPLE REPORT INFO FROM APP INFO, NOT FROM DELPHI VERSION !!!) function GetAppVersion: string; var Size, Size2: DWord; Pt, Pt2: Pointer; begin Size := GetFileVersionInfoSize(PChar (ParamStr (0)), Size2); if Size > 0 then begin GetMem (Pt, Size); try GetFileVersionInfo (PChar (ParamStr (0)), 0, Size, Pt); VerQueryValue (Pt, '\', Pt2, Size2); with TVSFixedFileInfo (Pt2^) do begin Result:= 'Version: '+ IntToStr (HiWord (dwFileVersionMS)) + '.' + IntToStr (LoWord (dwFileVersionMS)) + '.' + IntToStr (HiWord (dwFileVersionLS)) + '.' + IntToStr (LoWord (dwFileVersionLS)); end; finally FreeMem (Pt); end; end else begin Result:= 'Version: NOT RECOGNIZED'; end; end; I think he wants to have the version of RAD STUDIO that build the exe file. The GetRTLVersion do this (to UPDATE level) and it is include in the System Unit.