-
Content Count
491 -
Joined
-
Last visited
-
Days Won
6
Everything posted by Tommi Prami
-
Keyboard shortcut to get into Object Inspector "search Edit"
Tommi Prami replied to Tommi Prami's topic in Delphi IDE and APIs
Let's check... Thanks! Never saw the cursor in the search box, maybe had habit to click with mouse etc right away... Cool! -Tee- -
Keyboard shortcut to get into Object Inspector "search Edit"
Tommi Prami replied to Tommi Prami's topic in Delphi IDE and APIs
Always wanted to use that filtering but "can't" because can't figure out how to get in there from keyboard -
True, Maintainer and/or lead developer would be still needed but as it is now, we can't help. -Tee-
-
Quite OK Image (QOI) image format
Tommi Prami replied to dummzeuch's topic in Algorithms, Data Structures and Class Design
IMHO this seems to be image format that could stick. Fast and simple. Not super good compression, but not always that important. Depending on things. There seems to be some kind of Turbo Pascal implementation, which is quite weird. But Pascal port anyways. And what I looked at the GIT repo, people are making highly tuned Assembler code for it also. Let's see what happens. There already seems to be plugins for Windows Explorer and Paint.net, which is pretty cool it self. -Tee- PS did not see the post by Angus just before π Thanks for that!! -
Open Sourcing those plugins would be pretty good choice, depending on things. Might contain lot of closed source code etc which would make it impossible. I think David has other things also, I think some of us might be willing to help π Also having good quality plugins with ritch GUI would be suberb to have as OpenSource, as a stepping stone for others also. Just my 0.02β¬
-
I am bit lost on how I can handle user message and return value to the caller app, which is using SendMessage API. I've got following code UM_STATUS = WM_USER + 333; ... // On form procedure WmPrintPreviewStatus(var Msg: TMessage); message UM_PRINT_PREVIEW_STATUS; // and implementation procedure TMyForm.WmStatus(var Msg: TMessage); var LResult: NativeInt; begin LResult := 1; if Assigned(FStatusObject) then if FStatusObject.Status = statFinished then LResult := 2; Msg.Result := LResult; end; What I am now more than less confused that message structure in MSDN looks pretty different (below) and Will my code work, so that caller can use something like MyResult = SendMessage(HWND, UM_STATUS...) typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; DWORD lPrivate; } MSG, *PMSG, *NPMSG, *LPMSG;
-
Handlin the message and returning value to the caller
Tommi Prami replied to Tommi Prami's topic in Windows API
Thanks man! Some Windows messages in Delphi guru should write detailed blog post. There was examples but could not find any that would explain all the plumbing and returning values. π -
"ctrl+click on override" Feature request (please vote if you care)
Tommi Prami posted a topic in Delphi IDE and APIs
I would really love that crlt+click would behave same as on inherited keyword. so I could also jump to the palace it is overridden from in interface section as from in implementation (if inherited call is there), this would help even more if the implementation doesn't have inherited call. https://quality.embarcadero.com/browse/RSP-34573 -Tee- -
Handlin the message and returning value to the caller
Tommi Prami replied to Tommi Prami's topic in Windows API
We acquire HWND of window first then we try to poll window couple of seconds, when status is set, we close from . This is GUI testing AutoIT script which should poll that particular form. -
Delphi Daily WTF / Antipattern / Stupid code thread
Tommi Prami posted a topic in RTL and Delphi Object Pascal
Would be interesting to see all kinds stupid code out there, possibly with some arguments/proof why some code is bad. For sure there are tons of different coding styles, but still. Sometimes you stumble upon something that is "pure genius" or something that hides the problem that like David Copperfield. Or what are just scary, code that has been working for ages in production but should not π I'll post some examples into the reply Hope someone all post their own and biggest WTF of all times π -Tee- PS. Trey to stay civil and nice, there always are differences of opinion and some prefer the mother and other the daughter. If we can get this thread flΓΆying there will be good information for many I am sure. -
Delphi Daily WTF / Antipattern / Stupid code thread
Tommi Prami replied to Tommi Prami's topic in RTL and Delphi Object Pascal
We got hit by date/time string literals in the code. Someone was using different locale and app crashed and burned π -
PNC Financial Services (USA, Delphi)
Tommi Prami replied to Kyle Miller's topic in Job Opportunities / Coder for Hire
404 -
JSON serialization using published properties w/o attributes
Tommi Prami replied to ZoΓ« Peterson's topic in Algorithms, Data Structures and Class Design
What is disadvantage and/or deal breaker not to use Attribute based library? Why it won't work for you? (Just genuinely curious) ? -
Delphi Daily WTF / Antipattern / Stupid code thread
Tommi Prami replied to Tommi Prami's topic in RTL and Delphi Object Pascal
I'd do it some other way, ad begin end and comment in between or something that it is more clear. (Thee was better version by earlier, so skip this π ) -
StrToFloat () all combinations of decimal separator and lang. settings
Tommi Prami replied to bernhard_LA's topic in Algorithms, Data Structures and Class Design
That seems to be correct, thousands separators are not accepted, so have to first handle them self. -
Delphi Daily WTF / Antipattern / Stupid code thread
Tommi Prami replied to Tommi Prami's topic in RTL and Delphi Object Pascal
with MainForm, ButtonCancel do ... with MainForm do with ButtonCancel do ... Nested with clauses are pure evil to refactor out. If it is complex code and there are common properties (Like Caption in VCL on above) how to decode which is which. Made feature request of this one way way back. Hope they make refactorer that would cast the first stone, so can manually refactor rest. : https://quality.embarcadero.com/browse/RSP-18953 -
Delphi Daily WTF / Antipattern / Stupid code thread
Tommi Prami replied to Tommi Prami's topic in RTL and Delphi Object Pascal
StrToDate('2021/12/31'); Using StrToDate() etc with Date/Time literal in code, that most likely will fail in other locals than yours, Also the EncodeDate etc routines giving numbers is better IMHO. -
Delphi Daily WTF / Antipattern / Stupid code thread
Tommi Prami replied to Tommi Prami's topic in RTL and Delphi Object Pascal
try .. except end; eating all exceptions without commenting why exactly, and why it isn't or can't be something more specific. -
Delphi Daily WTF / Antipattern / Stupid code thread
Tommi Prami replied to Tommi Prami's topic in RTL and Delphi Object Pascal
IntToStr(LDataSet.AsInteger); Could use AsString directly. -
Delphi Daily WTF / Antipattern / Stupid code thread
Tommi Prami replied to Tommi Prami's topic in RTL and Delphi Object Pascal
try ... finally end; Empty finally blocks, maybe .free call is missing or after refactoring it has become obsolete but left behind. Not sure can the compiler optimize that out, that seems to me unneeded code that should be removed or fixed other way. -
Delphi Daily WTF / Antipattern / Stupid code thread
Tommi Prami replied to Tommi Prami's topic in RTL and Delphi Object Pascal
if A > B then; ... if A > B then A := B else; Semicolon right after the then or else is legal syntax, and can be used rightly, but I think those are possible point of errors and not easy to spot -
StrToFloat () all combinations of decimal separator and lang. settings
Tommi Prami replied to bernhard_LA's topic in Algorithms, Data Structures and Class Design
Has to be handled anyways. -Tee- -
StrToFloat () all combinations of decimal separator and lang. settings
Tommi Prami replied to bernhard_LA's topic in Algorithms, Data Structures and Class Design
When Thousand separators come into play, it starts to get almost impossible, (At least in here). 1,006.66 or 1 006,66 or 1 006.66 etc... And if sometimes there are no decimals. How to fix US version without decimals 1,006 and Finnish ones with them 6,66. As far as I know there can't be universal routine to rule them all. US I think thousand separator is Comma, here it is decimal separator. THis is one of the places there would have been nice to have global standard, and only one π -Tee- -
Seems that "Parnassus" plugins are not available for it on GetIt, Bookmarks make IDE so much better, would love to have it on home computer also, but I manage, if David Millington happens to read this, try to get those in GetIt for Community edition also. -Tee-
-
This happens sometimes