Jump to content

DelphiUdIT

Members
  • Content Count

    449
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by DelphiUdIT

  1. In my applications (even with robot guides) I also tend to use only integers (for example managing the vector of the last movement section precisely with integers), but having carried out several applications with robots I must say that often the float calculations are unavoidable, for example if you have to perform non-linear movements, perhaps using "quaternions". So it could be that the request made by @skyzoframe[hun] in this thread is legitimate and that its use is also a necessity. Bye
  2. Apart from the controller hardware (an element that should not be underestimated), on the numerical calculation part currently in hardware the precision you can obtain is in EXTENDED (80 bit) for 32 bit software and DOUBLE (64 bit) for 64 bit software . If you want to go beyond these limits you have to use libraries that take advantage of HW + SW to increase calculation precision. I can point this out to you, even though I've never used it. https://github.com/TurboPack/RudysBigNumbers Good luck
  3. DelphiUdIT

    IdTCPServer IdTCPClient knowledge.

    What @mjustin meant is that normally a custom CONTEXT is used where for each connection received additional data can be inserted, such as an ID, a particular string of marking, or any other information we need for the activity. Example: TMyContext = class(TIdServerContext) // <-- must derive from TIdServerContext public /// <summary> This is a new RefID field </summary> RefID: UInt64; ChargeStr: string; end; //Somewhere, BEFORE activate the server assign MyContext to the component begin IdTCPServer1.ContextClass := TMyContext; IdTCPServer1.Activate := True; end; //In the Connect event you can initialize the Context procedure IdTCPServer1Connect(AContext: TIdContext); var Ctx: TMyContext; begin Ctx := TMyContext(AContext); Ctx.RefID := 0; Ctx.ChargeStr := ''; end; //Now you can use the new context whereever you want
  4. DelphiUdIT

    Delphi CE application accesses unknown IPs

    Checking some of these IPs, you notice that they transit under "edgecastcdn.net", "msn.net" and "hwcdn.net". The first is a digital content provider (belongs to the owner of the Yahoo group), msn.net is known, hwcdn.net is the Windows update network and access is very often related to activities with Edge. I don't know the reasons because i never used TNetHttp and I don't know nothing about it (except the it exists).
  5. DelphiUdIT

    Current subscription required to download ?

    I compared Delphi with industrial software, because the probable sales are more homogeneous in terms of numbers than the sales of houses like Microsoft or Epic (I think they sell millions of copies)... However the problem (I repeat) is definitely not the download of the software (I understand that you would like to have everything perfect) as much as its possible activation. And this is because the activation process (without an subscription license) includes contact with a possible third-party commercial company whose "core business" is the sale of products (including "subscription licenses"), as @Uwe Raabe has highlighted. The state of affairs is this, and if the normal measures of the "good father of a family" (in Italy they say so) are adopted at the time of purchase, there will certainly be much fewer problems in the future.
  6. DelphiUdIT

    Current subscription required to download ?

    Leaving aside product-specific bugs for a moment, I'd say that preventing products purchased over time from being readily available for later "download" is a practice that not only Embarcadero but many other software vendors adopt. In the industrial field several software and SDKs (nothing to do with Embarcadero or Pascal) can be downloaded for a limited period after the purchase (typically 1 or 2 weeks) via a temporary link provided (and increasingly the copy is digitally marked ). This is to avoid "piracy" and the spread of illegal copies. Naturally, within the period of validity of the guarantee, it is possible to request a new copy by e-mail, specifying the reason. If you carry out software maintenance contracts (updates beyond the warranty limit) you can request updates in the same way (either via the WEB portal or via e-mail). I would say that this attitude, as unethical as it may seem, is in any case legitimate on the part of the producer (it is my thought). The downloaded copy should be kept "safely" by the buyer like any other good purchased with its documents. What I think could instead be a problem is not so much the download of the correct installer of the product, but rather its activation which still has a limited number of actions. Just to remind you, for example, even Windows can't install an infinite number of copies (at least until you have digitally licensed hardware on board like new laptops). And if this isn't a problem for those with an active license (Embarcadero always extended the number of activations when I requested it), it is for those who don't have an active license (at least I think ...). Bye
  7. DelphiUdIT

    Can I use managed C# DLL in unmanaged Delphi application ?

    Look at this: https://stackoverflow.com/questions/2048540/hosting-clr-in-delphi-with-without-jcl-example There is also an example to use C# with reflection (without COMVISIBLE). I use JCL to use C# DLL with [COMVISIBLE(TRUE)] Bye
  8. That may be right. The USB when is inserted and connected take 192.168.xx.xxx, and there is another NIC adapter that has the 10.0.0.3. That may be also a VM virtual adapter (like VirtualBox or VMWare). In Windows 11 there is the virtual IP for WSL too. In the Phone 127.0.0.1 is a localhost IP. I don't know in Android if there should be an IP with USB cable. Bye
  9. Yes, that's exactly what I meant. In the second post I indicated how to transmit these information in a simple way. I use this to keep track of the IPs assigned to all systems (individual processing industrial line). So I can also know and monitor the IPs assigned to the various NICs (each PC has 4/5 NICs and about 8 IPv4 addresses). Otherwise I wouldn't know how to get such data from a PC on the network (except using SNMP). Thanks very much for the suggestion. Really appreciated.
  10. You can start from RAS ... Jedi units RAS32 and JvRas32 encapsulate Windows api about RAS. In this way you can create your "client" VPN in Windows (I use it in Windows 7, hope that it works in new Windows version too). I had an example how to use it to create from "zero" a vpn connection with RAS many years ago. If I find it i will post here. For server I dont'know .... Bye
  11. Yes, i know that. But arp implemented is very slowly (in some networks needs 15 minutes to be updated). In my solution you may have the knowledge immediately, of course like you told if there is the software running. Other way is to replicate the arp discovery for IPV4 (RFC826) scanning the whole net and do it more "fast". Of course one must implemented the NDP for IPV6 (RFC4861). But this means that you must run other software too. Bye
  12. Another solution could be to create a simple UDP server with Indy on port x and use the UDP broadcast to send a packet (perhaps containing the list mentioned in my previous post). Obviously this solution works only on local networks. Each device connected to the LAN would receive that packet on port X from which you can detect both the "remote" address and possibly read the UDP packet data.
  13. You can use Indy to find local addresses of every device. You can send these lists wherever you want. This is an example: uses IdStack, IdStackWindows; //<--- This is for Windows, but I think you can use others Units for others platforms (IdStacklibc, IdStackLinux, IdStack......) function GetLocalIpList(Name: string): TStringList; var Lista: TIdStackLocalAddressList; temp: TCollectionItem; GProva: TIdStackWindows; begin result := TStringList.Create; try Lista := TIdStackLocalAddressList.Create; GProva := TIdStackWindows.Create; GProva.GetLocalAddressList(Lista); for temp in Lista do if temp is TIdStackLocalAddressIPv4 then result.add((temp as TIdStackLocalAddressIPv4).IPAddress); GProva.Free; Lista.Free; except on e:exception do ; end; end;
  14. DelphiUdIT

    Communication between Unicode and non-Unicode applications

    Uses IdGlobal; procedure TForm1.Button1Click(Sender: TObject); var s: ansistring; t: TIdBytes; begin s := AnsiString('ABCD'); t := rawToBytes(s[1], length(s)); IdTCPClient1.IOHandler.Write(t); end; To communicate with older devices, I use ansistrings like that.
  15. DelphiUdIT

    error while creating form: range check error

    I agree with @Brian Evans, it is likely that BergSoft components or FasteReport need to be updated. Bye
  16. DelphiUdIT

    JEDI Installation Annoyances 10.4

    I never had any issue with Jedi, but i always worked with license Embarcadero, not with CE. Just download 3 zipfiles from github, decompress them and run at cmd "install" two times. That's all. No path edit, no other things. Always working. But not with CE, because there is no support to command line compiler. Bye
  17. DelphiUdIT

    Map file = Detailed also produces DRC file

    With 11.3 it's the same. The .drc file is generated anyway.
  18. DelphiUdIT

    App for Android 11 with Delphi 10.1

    My old projects (first made for Android 4.4) work in Delphi 11.3 (of course updating very little some code) and with old SDK. They run in Android 11 (and in the old Android simulator, still available with old SDK). Of course you cannot use new functions. I use local SQlite, Bluetooth and Internet. But of course I can't in any way guarantee you that your project will compile or work with it. P.S.: I don't distribute the APK via Google Play. I install it directly on the phone.
  19. May be this should help: https://techcommunity.microsoft.com/t5/storage-at-microsoft/smb-signing-required-by-default-in-windows-insider/ba-p/3831704 It was released one month ago and I think it's now effective on the release channel.
  20. DelphiUdIT

    Strange behaviour Windows VCL app on specific laptop

    HP have some laptop models with NVidia P600 Quadro (eg. HPZB15VG5). Like @FPiette said be sure that you use the latest driver installed. Also, try to force the app to works with integrated graphics (Intel GPU) or with NVidia. You can use the Optimus / GPU Nvidia settings from NVidia control panel. Bye
  21. May be you can also use this: https://learn.microsoft.com/en-en/windows/win32/api/securitybaseapi/nf-securitybaseapi-createrestrictedtoken?redirectedfrom=MSDN If you use a thread to launch the activities, you can set new lower privilege with "SetThreadToken" and after that launch what you need. If you don't use a thread you must use "NtSetInformationProcess" to set lower privilege to current application. I use that very long time ago and I don't have any example at hand (and I don't know if it works now). Bye
  22. I have no other suggestions, sorry. I had used that package several years ago only for the purpose of displaying various graphic formats in an application (and I had to display just a PLY coming from a 3D scanner). Good luck
  23. You can try to see if you find anything useful in this project. It can open and view various graphic formats (including "PLY"). It is possible that something is also exposed on pascal the "PLY" and not only in DLLs. https://sourceforge.net/projects/glscene/files/GLScene/GLScene v2.2/
  24. DelphiUdIT

    AidAim Component

    For zip you can use Delphi integrated library System.Zip.TZip https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Zip.TZipFile For 3des and others you can use getit to get for example LockBox 3 2021.11 or DEC Lite 6.3. Both components can also be found on github. Bye
  25. Using "priorities" to manage threads and their (hypothetical) distribution between cores is not simple and as mentioned it is not the right tool. For now multiple processors, processor groups and numa nodes are out of Delphi's handling, or better let's say Delphi is not optimized for that. Memory and all shared and non-shared resources are handled "differently" in these systems. Those who have programmed in multiprocessor systems (such as Xeon platforms) have experienced this. Bye
×