Leaderboard
Popular Content
Showing content with the highest reputation on 05/07/20 in all areas
-
Addon to hide single visual controls in Form-Designer?
Uwe Raabe replied to PeterPanettone's topic in Delphi IDE and APIs
Quick-And-Dirty ( complete package attached ) unit HideControls; interface procedure Register; implementation uses Vcl.Controls, DesignIntf, DesignEditors; type THideControlsEditor = class(TComponentEditor) private procedure SetDesignVisible(Value: Boolean); public procedure ExecuteVerb(Index: Integer); override; function GetVerb(Index: Integer): string; override; function GetVerbCount: Integer; override; end; procedure Register; begin RegisterComponentEditor(TControl, THideControlsEditor); end; procedure THideControlsEditor.ExecuteVerb(Index: Integer); begin case Index of 0: SetDesignVisible(False); 1: SetDesignVisible(True); end; end; function THideControlsEditor.GetVerb(Index: Integer): string; begin case Index of 0: Result := 'Hide Control(s)'; 1: Result := 'Show Control(s)'; else Result := ''; end; end; function THideControlsEditor.GetVerbCount: Integer; begin Result := 2; end; procedure THideControlsEditor.SetDesignVisible(Value: Boolean); var I: Integer; list: IDesignerSelections; begin list := CreateSelectionList; Designer.GetSelections(list); for I := 0 to list.Count - 1 do if list.Items[I] is TControl then TControl(list.Items[I]).SetDesignVisible(Value); end; end. HideControlsAtDesignTimeDemo.zip -
How much market share do the iOS32 platforms still have ?
vfbb replied to Rollo62's topic in Cross-platform
The first 64-bit iphones were released 7 years ago (iPhone 5s), and today they are the vast majority (more than 98%), it is no wonder that Apple ended support for 32-bit iphones a long time ago. Apple has not even updated iOS 32-bit for more than 4 years, and Apple has not accepted 32-bit apps in its store for some years. I personally have not compiled anything for ios 32 bits for some years. In the beginning, the 64-bit iOS kept backwards compatibility with 32-bit apps, but that ended when Apple released iOS 11. A good way to find out how many users are running only 64-bit apps is to look at the graphics of the most used versions of iOS (11, 12 and 13 have support only for 64-bit apps). -
Hi, when you read the title, you probably already had the standard answer in your head: "Does not work with Indy, supports only OpenSSL 1.0.2 at most and thus no TLS 1.3". I can reassure you, that is not my point. Or actually even more precisely: That is exactly my point 😉 I've spent "a little" time writing the Indy support for OpenSSL 1.1.1 and TLS 1.3, and added a push request to Indy: #299. At the same time I have fixed a few issues that have been posted to GitHub (see PR). I wrote 2 new IO handlers ( one for server and one for client), the old ones are unchanged to avoid conflicts. Everything was written and tested in Delphi Berlin 10.1.2 on Win32 and Win64. I have neither macOS nor iOS nor Linux nor Android, nor FreePascal, nor older (or newer) Delphi versions. I have tried to keep older Delphi versions in mind to ensure that it will run on them, but there have been no tests on my part. I have tested it extensively in small test applications with other servers/clients. In addition, I built it into a large Real World program with TCP server/client, SMTP/IMAP/POP clients, FTP client, HTTP client, and it also ran there without problems. Unfortunately the nice man, who has provided new binary files of OpenSSL under indy.fulgan.com has said that he does not offer versions > 1.0.2 anymore. So I used the versions of slWebPro in the beginning (they even still work on WinXP), later I used the versions of Overbyte, because they do not have any external dependencies (and are digitally signed, but no XP anymore^^). But both worked without problems. All files are located in the subfolder "Lib/Protocols/OpenSSL". There are also subfolders "static" and "dynamic" which offers quite extensive imports of the OpenSSL API, once for static linking, once for dynamic loading/unloading. For dynamic loading there are also possibilities in the "IdOpenSSLLoader.pas" to trigger the loading/unloading itself, if you need the API outside of the IO handler (e.g. for your own x509 generation). To save me the double writing of the imports, I wrote a kind of intermediate code in the folder "Intermediate", which I let generate with "GenerateCode" to the two variants. The tool "GenerateCode" is only a simple string customization and actually only designed for Berlin, so I didn't bother about downward compatibility. As a normal user of the IO handlers you don't need them, only if you make changes to the API implementation. So and now comes your. It would be nice if one or the other would test this, so that it is not only WOMM certified, but can withstand more real situations. For me it also works with the Indy, which comes with Delphi Berlin, when I create another unit, which provides some new Indy types and functions. Of course some units have to be adapted locally to use the new unit.
-
When computers try to be clever
Uwe Raabe replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
IIRC, that functionality exists since Delphi 1. After 25 years someone finally managed to hit it. Congratulations. -
Experience/opinions on FastMM5
RDP1974 replied to Leif Uneus's topic in RTL and Delphi Object Pascal
I'm studying ad implementing Elixir/PhoenixWeb/Erlang over FreeBSD/Linux. Simply it's incredible! From http MVC with routes/controller/ORM to websocket channels, linear scalability until millions of sockets x single server with yusecs latency and fault tolerance (it's a VM with userlevel scheduler and signaling)...within a bunch of lines (a bench shows 100,000 reqs/sec from a MVC/postgre ORM json render in a single server; further you can change the code inside the VM meantime is running, so you can update pieces of the running app without close it) https://www.phoenixframework.org/ https://elixir-lang.org/ -
How much market share do the iOS32 platforms still have ?
vfbb replied to Rollo62's topic in Cross-platform
98% is the number of current active apples devices with iOS 11, 12 or 13 (versions that have support only for 64 bits apps). In addition, the number of active devices supporting 64-bit apps may be even higher, as I am not counting those that have 64-bit support, and have not yet upgraded to iOS 11, 12 or 13 -
Addon to hide single visual controls in Form-Designer?
haentschman replied to PeterPanettone's topic in Delphi IDE and APIs
Hi... How about Frames? Load the appropriate frame according to your requirements... -
You are doing R&D. Are you saying your R&D process does not allow you to use an exception stack trace logging solution to figure out where it happens?
-
Extend the system PATH
Remy Lebeau replied to miab's topic in Algorithms, Data Structures and Class Design
SetEnvironmentVariable() updates the environment of the calling process only, changes are not persisted when the process exits. You don't need to update the PATH to handle that. Use SetDllDirectory() or AddDllDirectory() instead. -
arrays Help with design pattern
Rollo62 replied to Tntman's topic in Algorithms, Data Structures and Class Design
TListBox ist not ideal for large datasets, consider TListView instead -
arrays Help with design pattern
David Schwartz replied to Tntman's topic in Algorithms, Data Structures and Class Design
This doesn't seem to have anything to do with either OOP or the subject of Design Patterns. And your description is too microscopic to give the reader (this one, anyway) a grasp of what you're trying to accomplish. Like if you talked about feeding a string through several holes, using different criss-cross patterns, and making a knot at one end ... not many people would conclude you're talking about putting a shoelace on a shoe and tying it. Your description focuses more on the string, the holes, and the criss-cross pattern than what you're doing with them. Does that make sense? It's like you bought 1000 toilet seats and you're trying to figure out what to do with them by describing the kinds of toilets they fit on, when what you're really interested in is something like building public toilets in a part of the world where they don't have many of them. In other words, you're not focused on the right thing. Generally speaking, arrays are good for storing things if you have a finite number of items that can be indexed and accessed by their positions relative to each other. They're good for representing physical associations. Reserved parking spaces in a parking area, desks in a classroom, or seats in a restaurant. You'd typically number them 1..n and then assign each number to a person for some period of time. There's a one-to-one relationship, so you could refer to each one by their assigned number, or their name. At some point, the relationship expires, and the spot can be reallocated to someone else. The spot itself does not disappear, just the relationship it has to another person or object. That is, you don't "destroy" a parking spot, a desk in a classroom, or a table in a restaurant, right? In practice, you clean them up and re-use them. Similarly, you don't destroy a slot in an array, you simply clear it out and re-use it. If you have an inventory of something that is refreshed periodically, and it is consumed at a different rate by others, then you want a list in both sides. There's no relationship between items in one and consumers in the other. (It's called a "consumer-producer" problem.) There may be an ordering in terms of how inventory is acquired and then distributed, like First-In-First-Out (FIFO) or Last-In-First-Out (LIFO) or maybe its random. There may be a maximum capacity (the size of a warehouse is fixed, but rarely filled to capacity). You could also have the inventory broken down by some attribute like size, shape, color, texture, some kind of date, etc., and stored in places related by those attributes. Things on a list usually come inside of containers, and you typically dispose of the containers once you hand out the goods inside of them. While you have them under your control, however, you use the containers to move the stuff around and identify what they contain. Anyway, I've discussed a number of examples here at a level of detail that I bet is sufficient for you to build a model around each one with no further information, based simply on your familiarity with the subject mentioned. You've used a lot of words to explain something at a level of detail that is nearly impossible for someone to know what you're talking about. That's ok, it's a common problem people have when learning new concepts. I myself tend to be very verbose because I like to be very precise and explicit, so I usually say too much. But it's usually all relevant. Why don't you try setting aside what you've written so far, and start over beginning with a one-sentence description of the problem you're trying to solve? If you make it similar to something that most people would understand, you'll need far fewer words to explain it. And you'll have a much more clear understanding of it in your own mind as well. BTW, this is called a "use-case model". -
Function with just underscore _() seems to be valid
Vandrovnik replied to Mike Torrettinni's topic in General Help
With this info in mind, for bad customers you can start programming like that: const _ = 1; _____ = 2; x = _____ + (_-_-_) + 0 + _+0-0+_ ; -
How to connect from remote program to Datasnap serwer located in local network
pcplayer99 replied to Andrzej Miechowicz's topic in Network, Cloud and Web
Hi, OK, you can not setup router. Then you must have a server on the Internet that your LAN APP and your Android APP can get connected. This is not about callbacks or other tech. This is about how tow to establish communication between two device. Under normal conditions, to establish connection between two device, there must be a server, both device connect to this server, this server is working as a bridge. -
Experience/opinions on FastMM5
David Heffernan replied to Leif Uneus's topic in RTL and Delphi Object Pascal
That's not really the point. The developers of any code own it. They get to choose how they licence it. They have many options. Basic decency says we respect their choices. I'm confident that every person who is critical of somebody else's choice of licence would flat out reject it if anybody told them how to licence their own software. -
In my Service I want to to receive notification when the system is suspended or resumed
Angus Robertson replied to AllanF's topic in Windows API
Don't think monitor power off will really help you, you need to check PowerEvents like PBT_APMQUERYSUSPEND and PBT_APMRESUMESUSPEND. I'll email my unit that does all this. Angus