-
Content Count
1200 -
Joined
-
Last visited
-
Days Won
16
Everything posted by FPiette
-
You should not access the UI from a thread.
-
OverbyteIcsTicks64 missing include file
FPiette replied to EugeneK's topic in ICS - Internet Component Suite
Add the folder to the IDE options library path or to the project options library path. -
Uninstalling Delphi won't change your install count. If you have only one installation, no problem to do a second. But it is better to keep it when you'll really need it. Your PC doesn't boot anymore on the hard disk? Or do you have some bad sectors but it still works? What is the exact problem? (Don't answer if you are not interested in trying to fix your PC).
-
What error makes you think you must reformat your machine ? I never ever had to reformat my computer and I use Windows since his beginning. I was always able to repair whatever trouble I had. If you are unsure about repairing, I strongly advice you to create a disk image using - for example - Macrium Reflect. Using that tool, you can also create a bootable media with Macrium so that you can restore your backup on a completely new hard disk. And anyway, you should create a new backup after each important change in your computer.
-
As far as I know, it is unsafe. The number of installation are very restricted. I suggest that you don't reformat the machine but do a Windows repair instead.
-
How to gracefully get rid of the use of dictionaries?
FPiette replied to Shrinavat's topic in General Help
You didn't define the variable types, so I made some guessing and came with the following code: type TDirection = (dirE, dirW, dirN, dirS); TDirections = set of TDirection; var DX : array [TDirection] of Integer = (1, -1, 0, 0); DY : array [TDirection] of Integer = (0, 0, -1, 1); Opposite : array [TDirection] of TDirection = (dirW, dirE, dirS, dirN); procedure Demo; var x, y, nx, ny : Integer; Dir : TDirection; Grid : array[0..100, 0..100] of TDirections; begin x := 3; y := 5; Dir := dirN; nx := x + DX[Dir]; ny := y + DY[Dir]; Grid[nx, ny] := Grid[nx, ny] + [Opposite[Dir]]; end; -
How to gracefully get rid of the use of dictionaries?
FPiette replied to Shrinavat's topic in General Help
@Fr0sT.Brutal given the way he defined N, S, E, W (Power of two), it is likely meant to combine them (NE = N + E). It is better stay like it is, or replaced by an "set of". But of course we don't know how he makes use of those values so it is pure speculation... -
The external sources where much much more used.
-
They are gone. See https://blogs.embarcadero.com/community/
-
RADSTUDIO lamp Utllity
FPiette replied to Hans-Wolfgang's topic in Algorithms, Data Structures and Class Design
What kind of website? What do you want to do? What do you already know about web technologies? What do you already know about Delphi targeting Linux (The "L" in LAMP)? Did you already used Google to find a starting point? -
Retrieve Delphi version used from within an App?
FPiette replied to Ian Branch's topic in General Help
ICS has an include file which define a specific symbol for each Delphi version from D1 to D10.4. The symbol are named after the highest version number you can find in the IDE about box. For example in D10.4.2, you can read "Embarcadero® Delphi 10.4 Version 27.0.40680.4203" in the about box and DELPHI27 symbol is defined. There are also symbols like DELPHI15_UP for Delphi Version 15.X.Y.Z aka Delphi XE and up. This symbol allow conditional compile for code containing feature introduced in the language at a specific version. There are also similar symbols for C++ Builder and for the compiler itself. Read the file... -
Retrieve Delphi version used from within an App?
FPiette replied to Ian Branch's topic in General Help
To a certain extent, you may use the predefined symbols. See the documentation here and here. Using conditional compilation, you can generate a string with a pretty name for Delphi version. -
Help to achieve multiple inheritance by class redesign
FPiette replied to iiid354's topic in Algorithms, Data Structures and Class Design
No constructor in interface. The constructor stay in the class. Base methods such as Work() can be in a base interface and all other interfaces inherit from the base interface. -
Help to achieve multiple inheritance by class redesign
FPiette replied to iiid354's topic in Algorithms, Data Structures and Class Design
Since Delphi do not support multiple class inheritance, you should use interfaces. A class can support many interfaces. So TSalesManager can support IHuman, ISales and IManager interfaces. At the class level, you can delegate an interface implementation to another class. -
Don't make it, use an existing proven solution. For example WAMP or LAMP.
-
Good Key/Hash for SQL string
FPiette replied to chkaufmann's topic in Algorithms, Data Structures and Class Design
Almost no hash avoid duplicate values. Only the full data, maybe lossless compressed, use as a key has no duplicate. The hash used as a key in a dictionary is interesting to speed up search for previously executed request. The dictionary should contain the list of all requests having that hash. Once you found the list, using the hash, you can iterate it to find the request. The smaller hash you use, the more duplicates you'll have. -
There once some update to ICS so that FPC could compile it but this has not been maintained. Since FPC is far from being Delphi compatible, there is certainly some work to do. You can do this work and request any ICS change that would be needed to help making if FPC friendly, such as making a method virtual.
-
Read out signed executable certificate possible?
FPiette replied to KodeZwerg's topic in Windows API
Probably what you are looking for is explained in Microsoft documentation. -
You are freeing twice the form: Once from the OnClose because you use caFree caFree, and once when you call Free in the finally block. The second call will crash.
-
You should really do the above. Using the debugger, grab the call stack at the moment of crash.
-
When you said "on the server PC itself", is it using RDP or not? (I'm thinking of what was once name "terminal server"). If this happens on ALL their PC whatever OS they have, this is maybe related to something the have in all enterprise such as a security product, or a remote management or something like that.
-
So this is related to RDP or to the server (What is it?) where Delphi is installed. Do you have a chance to ask someone at the remote site to check if it works locally without any RDP but directly on the machine?
-
Using the debugger, you should see where your application crashes. This would probably give a hint about why it crashes. Did you tried with a minimal program? If not, do it and tell use if it works as expected. If it doesn't, show the code for that minimal program so that we can verify it.
-
That is good. But be sure to check between each step to find out which one is the culprit.
-
So it is not a high DPI issue. Do you have IDE wizard installed? Did you get this issue from the first run after D10.4.2 install?