PiedSoftware
Members-
Content Count
52 -
Joined
-
Last visited
Everything posted by PiedSoftware
-
Type inference in assignment but not comparison??
PiedSoftware posted a topic in RTL and Delphi Object Pascal
I like the way Delphi is getting better at arrays, but there is still a gap in the compiler that let me down. I tried this code in 12.2 to highlight the issue. const nostrings: tarray<string> = []; procedure TForm1.FormShow(Sender: TObject); begin var a: tarray<string>; a := []; if a = nostrings then say('nostrings'); if a = [] then say('it''s blank'); end; procedure TForm1.say(const s: string); begin ListBox1.Items.Add(s); end; This refuses to compile at the line if a = [] then with the error "Incompatible types". But it has no problem with the assignment, so it looks like the programmers have just put this in the "do eventually" basket. Does anyone have any insights into this? --- Mark -
Yes, definitely. XCode does that, and you need it.
-
Yes, it would be much better if sets has a different punctuation from arrays. Sets came first though, and they got [ and ] on a first come first choose basis. If Delphi could yield { and } from comments and give it to arrays or sets, life would be better.
-
Delphi should let me use a const array reference as a constant
PiedSoftware posted a topic in RTL and Delphi Object Pascal
type TCodeStructure = record StartTkn: string; EndTkn: string; SubTkns: array of string; end; type TIfTkns = (itElse, itElsif); const elseTkn = '#else'; elsifTkn = '#elseif'; IfTkns: array[TIfTkns] of string = (elseTkn, elsifTkn); IfStruct: TCodeStructure = (StartTkn: '#if'; EndTkn: '#endif'; SubTkns: [IfTkns[itElse], IfTkns[itElsif]]); I wrote this code and got the error "E2026 Constant expression expected" on the last line. I also tried SubTkns: IfTkns); When I changed it to SubTkns: [elseTkn, elsifTkn]); it compiled happily. and that gave me E2010 Incompatible types: 'Dynamic array' and 'Array'. To me it seems that Delphi should allow the first thing I tried - referencing a const array via constant indices to specify a constant. There is no reason to disallow that sort of thing. Ideally even the second attempt should be reasonable. I have Delphi 10.4. -
Delphi should let me use a const array reference as a constant
PiedSoftware replied to PiedSoftware's topic in RTL and Delphi Object Pascal
The way Swift works is that you can declare value with either the keyword let or the keyword var. If you use let the value cannot be changed. But the expression you assign to a let value can be anything available at that point. -
Delphi should let me use a const array reference as a constant
PiedSoftware replied to PiedSoftware's topic in RTL and Delphi Object Pascal
I guess I am a bit spoiled playing with Swift. It lets you assign any expression to a constant, compile time or run time. -
Delphi should let me use a const array reference as a constant
PiedSoftware replied to PiedSoftware's topic in RTL and Delphi Object Pascal
Yes, David, I agree. I would like them to fill that out: everything that is logically able to be evaluated at compile time should be assignable to a constant. -
Opening form takes 1 minute in debugger, 2.5 s without
PiedSoftware posted a topic in Delphi IDE and APIs
Hi I have been trying to work out what is going on with one of my forms. Just opening it, which has only a small amount of DB activity, was taking nearly a minute in the debugger, once it was about 35s. But when I run it without the debugger it is less than 3 seconds. There is no obvious bottlenecks in Task Manager. I have 8 GB of RAM. Does this sound familiar to anyone? Does anyone have a possible solution? Regards Mark -
Opening form takes 1 minute in debugger, 2.5 s without
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
I went to Component | Install Packages and unchecked "Embarcadero LiveBindings Components" and saved, but when I closed and reopened Delphi, it was back on again. D'oh! I'm concerned the maybe a library is using it. How can I work that out? Should I remove it? -
Opening form takes 1 minute in debugger, 2.5 s without
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
Thank. What I am comparing are the 2 functions from the Delphi Run menu: Run (f9) and Run without debugging (shift-ctrl-f9) -
Opening form takes 1 minute in debugger, 2.5 s without
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
I don't think we have that package in the app at all. We certainly haven't coded that way. -
Opening form takes 1 minute in debugger, 2.5 s without
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
Delphi 10.4 MySQL, but I don't think that is the issue. I probably shouldn't have mentioned it. It was my first thought, I put timings in the code. The time is just the form getting created, with no database activity. It looks fine when it has loaded Yes, I know it's pretty diffuse. I haven't started pulling my hair out yet. -
Delphi has stopping on break points and exceptions
PiedSoftware posted a topic in Delphi IDE and APIs
Hi I have a break point, but when I run the procedure it is in the code is going right past it and putting up a message a few lines down. Also, I had a bug where the code was throwing an exception, the exception dialog would come up, but the debugger didn't stop at the relevant line. I have been googling and poking around in the settings but nothing has shown up that would make it stop at the line. I have deleted and recreated the break point, rebooted my machine, and it looks as if Delphi is broken, but I hope not! This is Delphi 10.4, building for windows32. -
Delphi has stopping on break points and exceptions
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
I think I may have solved the problem. Somehow the normal run button got replaced with the Run without debugging button. So far the best explanation is that when I had the problem was when I ran the program by hitting the Run button, and when it ran fine it was because I hit F9. I don't remember changing it, and I don't remember whether I hit F9 or the button each time I had breakpoints or not, But, now I am back in happy land. -
Delphi has stopping on break points and exceptions
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
Thanks. I would hope I can fix the issue with something less drastic than reinstalling. What advantages do you have with 11.3? -
Delphi has stopping on break points and exceptions
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
I see the correct file names in the popup hint over the tabs for each unit. If the syntax was wrong it wouldn't even build and run. I am doing Build fairly frequently. -
Delphi has stopping on break points and exceptions
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
It's happening again. There must be some other cause. I tried another smaller project. The breakpoints worked a few times and then stopped. -
Delphi has stopping on break points and exceptions
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
I did clean builds a number of times, and it didn't clear the problem. What made the difference was clearing all the breakpoints, one after the other, the putting back in the one I wanted to use. -
Delphi has stopping on break points and exceptions
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
I had a look at the list of breakpoints (View | Debug windows | Breakpoint) and I had accumulated a couple of dozen, a number from files that have been removed from the project. I deleted all of them, and put back in the one that I wanted. And now it is great to see my program stopping on the line I have asked it to stop on. -
Delphi has stopping on break points and exceptions
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
Thanks for the ideas. I looked and it is in debug mode, and the lines do have the blue dots. It must be something else. -
Where does Delphi store the list of command line parameters?
PiedSoftware posted a topic in Delphi IDE and APIs
Hi In Delphi, under Run | Parameters, is a drop down list of the history of runtime parameters. I can see the top one, the one that currently applies, in the .dproj file, but I have looked in all the files with the same name as the project but different extension, and I did not see the other command lines. Where are they stored? They seem to be based on the installation of Delphi, not the project. -
Where does Delphi store the list of command line parameters?
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
Thanks, Der Schoene Guenter. I didn't know that. I was just looking at regedit. -
Where does Delphi store the list of command line parameters?
PiedSoftware replied to PiedSoftware's topic in Delphi IDE and APIs
I went looking for hlRunParameters and found HKEY_USERS\S-1-5-21-1617574381-1279492827-4212147271-1000\SOFTWARE\Embarcadero\BDS\21.0\History Lists\hlRunParameters and one other place with that long number, but none with the nice simple name in your post. -
Can Delphi set session data in opening a webpage?
PiedSoftware posted a topic in Network, Cloud and Web
Hi This is a preliminary question. We have some functionality on the web and want to be able to set log-on to the web page from the Delphi app, without the log-in credentials being stored by the browser app. Any idea? -
Can Delphi set session data in opening a webpage?
PiedSoftware replied to PiedSoftware's topic in Network, Cloud and Web
Thanks, microtronix. Are you saying that from Delphi you can open a web page with cookies set in the code, and those cookies are not stored on the filesystem of the client?