Brian Evans
Members-
Content Count
360 -
Joined
-
Last visited
-
Days Won
4
Everything posted by Brian Evans
-
CodeSite is an optional logging library. Delphi includes a limited version called CodeSite Express available through GetIt. Conflicting information if it is available with Delphi CE.
-
I agree it is bad move to create the problem - limited activations with no way to de-activate - then require a support contract to 'fix' it with a bump to the number allowed. As others have mentioned it seems more like a car salesman's slimeball tactic to increase 'sales interactions' than provide any benefit to customers. The policy basically says to active developers trying to reinstall: Give me money or you can go f*** yourself. That is not how you build a developer community. It is likely driving away a good number of developers and killing sales in the long term for a few renewals in the short term. In my estimation they should just allow three and decay them one per year. More than that by request with justification. Or just bring back a way to do it self-serve style like it was before with some upper limit based on time.
-
You can put the BPLs in the same directory as the EXE and always deploy both. You lose some of the sharing between unrelated executables but avoid extra testing and issues like this when there is a new release of Delphi or some third party library. The incompatibilities are usually fixed given some time but having to wait on them can cause it's own issues like delaying your own testing and/or deployment. I rarely use runtime packages but when I do they are only shared between executables built and deployed at the same time. For applications with long lives it keeps them from breaking when other installers change common files or even delete them on uninstall.
-
No error seen here dropping a TrzCheckList on a form in a new project.
-
No more floating form designer ...WTF! GExperts PLEASE HELP!!!
Brian Evans replied to SteveB42's topic in Delphi IDE and APIs
How to open more edit windows in case it is hard to find. It is kind of workable but does have some quirks - often get a blank area with a Move Designer button when switching around a lot and select the same thing in more then one place. -
Had similar errors for FMXLinux packages when I did the 11.2 install. I just clicked OK and continued on and made sure to install FMX Linux in GetIt before doing work in the IDE. Enough was installed that I could do the rest by launching Delphi and using the Platform Manager and GetIt there.
-
FMX does not have a Data Controls palette - it uses regular edits plus live bindings. View the source code of a form and check the uses clause. If it contains items like FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs then this likely a FMX project and not VCL. If it is not an FMX project try: Make sure you are in Design mode and not Code mode (tabs along bottom of editor) then right click in the Palette area and select "Reset Palette".
- 2 replies
-
- palette
- data controls
-
(and 1 more)
Tagged with:
-
How to route all internet traffic through my application to allow / deny traffic either in front of windows firewall or behind it?
Brian Evans replied to Al T's topic in Windows API
One option would be to use the (Windows Filtering Platform - Win32 apps | Microsoft Docs). This is the same set of APIs that the Windows firewall uses to interact with the Windows network stack to control traffic. -
DB field update using "DataSet.FieldByName" is not working
Brian Evans replied to PenelopeSkye's topic in Databases
If that is hooked up to the edit in question. I have doubts since DBEditPMSExit wouldn't be the default event name for a control called DBEdit23.- 10 replies
-
- fieldbyname
- dataset
-
(and 1 more)
Tagged with:
-
DB field update using "DataSet.FieldByName" is not working
Brian Evans replied to PenelopeSkye's topic in Databases
Exit is not triggered for a control when the application is closed as focus never moves off it. You could move focus somewhere in the form's OnClose to trigger it. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Form1.SetFocusedControl(Form1.Button1); end;- 10 replies
-
- fieldbyname
- dataset
-
(and 1 more)
Tagged with:
-
Would suggest using the Microsoft OLE DB Driver for SQL Server - OLE DB Driver for SQL Server | Microsoft Docs instead of ODBC. Without seeing your code it is just guessing why it is slow. Certainly a large difference between local and over the network suggests your code isn't using ArrayDML with a large enough batch size or any batch size at all.
- 4 replies
-
- array dml
- performance
-
(and 1 more)
Tagged with:
-
No problems encountered here. Expand the tree nodes and see more details on what is going wrong. Can also take a look in C:\Users\Public\Documents\Embarcadero\Studio\22.0 for GetItInstall.log which should also have the information on what happened.
-
Several F2084 Internal Error on Delphi 10.4.2
Brian Evans replied to Davide Angeli's topic in Delphi IDE and APIs
As with any software without a reliable method to reproduce a bug it can be very hard to fix it. Some organizations severely limit how much effort can be put into non-reproducible bugs as they can consume large amounts of time and effort for little to no gain. It is frustrating for both users and developers but acting out on that frustration doesn't really help any. For F2084 Internal Error errors which are often due to the compiler having problems with some source code it is very hard to find the bug and create a way to reproduce it without access to some source that triggers it. Again frustrating for both - it is hard for developers to do much with "compiler chokes on my source" when they can't take a look at the source - but also for the user who has work interrupted when the hit the bug. At least when there is a way to reproduce a problem Embarcadero does work on fixing them. An example was for years I occasionally got a dangling scrollbar in the IDE but never reported it since I was not able to find a reliable way to reproduce it. A while back somebody did report it and after reading some comments others made I finally managed to reliably reproduce the issue and put it in a comment on the bug report. It was fixed in the next release. ([RSP-34111] Editor leaves dangling vertical scrollbar behind - Embarcadero Technologies). -
Sending Email via GMail Using OAuth 2.0 via Indy
Brian Evans replied to Ugochukwu Mmaduekwe's topic in Indy
One place they are used in OAuth 2.0 is when exchanging a refresh token for a new access token. How long refresh tokens and access tokens last depend on the web service being accessed. One example would be : Refresh Tokens with OAuth 2.0 - LinkedIn | Microsoft Docs -
I Broke Delphi ->> Low bound exceeds high bound & Duplicate case label if you swap'em (Case Z of) Table error
Brian Evans replied to Al T's topic in Algorithms, Data Structures and Class Design
Would also add that here in the default Debug configuration I get a warning plus the same error for each out of range value and not all the odd errors seen in Release. [dcc32 Warning] Unit1.pas(40): W1012 Constant expression violates subrange bounds [dcc32 Error] Unit1.pas(40): E2026 Constant expression expected [dcc32 Warning] Unit1.pas(40): W1012 Constant expression violates subrange bounds [dcc32 Error] Unit1.pas(40): E2026 Constant expression expected Also Release does also get the same Warnings along with the odd errors. [dcc32 Warning] Unit1.pas(40): W1012 Constant expression violates subrange bounds [dcc32 Warning] Unit1.pas(40): W1012 Constant expression violates subrange bounds [dcc32 Error] Unit1.pas(40): E2011 Low bound exceeds high bound -
I Broke Delphi ->> Low bound exceeds high bound & Duplicate case label if you swap'em (Case Z of) Table error
Brian Evans replied to Al T's topic in Algorithms, Data Structures and Class Design
The help does mention the selector expression is limited to 32 bit ordinal values and case values must match that type. Declarations and Statements (Delphi) - RAD Studio (embarcadero.com) So it looks like case expression (Z in your test) is being evaluated/converted into an Int32 and the case values that can't also be converted produce errors. -
Can Delphi 11 IDE handle debugging two Android phones at the same time?
Brian Evans replied to Al T's topic in Delphi IDE and APIs
You can run/debug multiple executables in a project group at the same time. Build all the project group (you can't compile one while the other is running) then run each in turn. A quick test has a local Windows 64 bit app window and one on Linux VM. -
Conditional compiling - Delphi has a bug
Brian Evans replied to KodeZwerg's topic in RTL and Delphi Object Pascal
The help for the IF directive gives an example of such a construct all on one line instead of split into two IF's. I would suggest trying it that way as it seems to not like just the number check on it's own. IF directive (Delphi) - RAD Studio (embarcadero.com) : {$IF Declared(FireMonkeyVersion) and (FireMonkeyVersion > 16.0)} ... {$IFEND}- 5 replies
-
- delphi
- conditional
-
(and 1 more)
Tagged with:
-
Community Edition expiring again, no new keys
Brian Evans replied to Nigel Thomas's topic in Delphi IDE and APIs
Delphi licensing still follows the decades old model of editions with feature bands at fixed costs + a free version designed to drive sales quickly. Some other companies have successful products with licensing that more directly targets different types of users in more situations growing both the community and revenue. Two examples I am familiar with are Wolfram Mathematica and JetBrains Webstorm. The first has a home edition for a fraction of the price of the full product and the second has a personal / business license split where personal licenses are cheaper vs those purchased or reimbursed by a company. Both manage to capture users and revenue without making the products free or dividing the user base. A lot of such users might never transition to the full ticket products but at least they become users and provide some revenue. Wolfram Mathematica standard desktop : $3,130 or $1,570/year vs Home edition desktop : $376 or $188/year Jetbrains Webstorm: $129 first year for organizations, $59 first year for individuals (for both it goes down for the 2nd and 3rd years) I don't use Mathematica for work (just for curiosity and math/science interests) so would never foot the full price. For Webstorm I bought a non-reimbursed personal license to use at work. In both situations if it was Delphi I would not have made any purchase instead using either the CE or nothing. -
Community Edition expiring again, no new keys
Brian Evans replied to Nigel Thomas's topic in Delphi IDE and APIs
I am a Delphi Enterprise user myself. My concern is over the effect poor licensing practices have on the wider Delphi community. Free but you may not be able to use it sometimes burns off some of the goodwill generated from having a community edition for no gain. -
Community Edition expiring again, no new keys
Brian Evans replied to Nigel Thomas's topic in Delphi IDE and APIs
Calling it a glitch was everybody being polite. Do you really want to hear the non-polite version(s)? -
I don't use Firebird so was not able to debug your project and reproduce the problem. Some guesses like qGoods being OnDemand and 50 record fetch size vs loading all but without being able to debug they are shots in the dark.
-
I would suggest switching to using cached updates on the TFDQuery instead of using ClientDataSet. https://docwiki.embarcadero.com/RADStudio/Sydney/en/Caching_Updates_(FireDAC)
-
Custom Component : onDestroy delphi creates endless error messages
Brian Evans replied to gioma's topic in VCL
I think you would benefit from taking a break and acquiring some Delphi custom component development and debugging skills. Impatience to do something when you have not yet acquired the necessary skills and knowledge usually leads to frustration. The basics of component development and debugging have not changed much so even older books/guides are still useful. Ray Konopka wrote some early books on Delphi component development any which would be a good resource if you can get your hands on one. -
Reduce storage space for floating point range
Brian Evans replied to dummzeuch's topic in Algorithms, Data Structures and Class Design
You can compress floating values in a small range into an integer evenly. AnInteger = N - RangeStart * (IntegerRange / (RangeEnd - RangeStart)) N = (AnInteger / (IntegerRange / (RangeEnd - RangeStart))) + RangeStart For two byte unsigned integers this only gives ~344 divisions between the whole numbers in your 30-220 range so not quite 3 decimal places.