-
Content Count
2067 -
Joined
-
Last visited
-
Days Won
27
Everything posted by Attila Kovacs
-
I'd be surprised if there was more changes than the compiler directives in the .inc file.
-
Converting project from Delphi 2006 to Delphi 10.2
Attila Kovacs replied to RTollison's topic in General Help
it also copies all the 64 chars so the truncate trick is still needed SetString(PaperName, p, 64); PaperName := PChar(PaperName); -
Converting project from Delphi 2006 to Delphi 10.2
Attila Kovacs replied to RTollison's topic in General Help
@Anders Melander Wouldn't be a SetString() nicer? -
Converting project from Delphi 2006 to Delphi 10.2
Attila Kovacs replied to RTollison's topic in General Help
use DeviceCapabilities() instead of DeviceCapabilitiesA(), then you will also find examples -
How can I convert multiple fields to properties? It always converts the only one from the current line, where the cursor is positioned.
-
@Uwe Raabe I see, I don't have this panel on the left, I'll just roll my own to work with selection. Thx anyway.
-
@Lars Fosdal I mean MMX Code Explorer. MMX->Conversion-> Convert to property In the dialog title is "Field(s)" but I can't get it to work with multiple fields.
-
Is that anywhere documented that RTTI is screwd up/missing on types declared in a console app's dpr? Maybe every kind of dpr. brr
-
RTTI in dpr / console app dpr
Attila Kovacs replied to Attila Kovacs's topic in RTL and Delphi Object Pascal
http://docwiki.embarcadero.com/Libraries/Rio/en/System.Rtti.TRttiType.QualifiedName "QualifiedName is only available for public types declared in the interface section of a unit." FQN makes only sense for public declarations = interface section, so no FQN for dpr members, and no lookup-table entry for those non-public types. TRealPackage.MakeTypeLookupTable makes it clear as it starts with "units := GetUnits;". At the end, we are still discussing the same what was said to me 3 days ago. -
RTTI in dpr / console app dpr
Attila Kovacs replied to Attila Kovacs's topic in RTL and Delphi Object Pascal
found by accident -
RTTI in dpr / console app dpr
Attila Kovacs replied to Attila Kovacs's topic in RTL and Delphi Object Pascal
Ignoring Mahdis corrected answer (which was actually the answer, he nailed it, even though my question was very lazy and broad) and acting like a spring, chanting the same in reply to his first comment is nothing else just trolling and does not help here. -
RTTI in dpr / console app dpr
Attila Kovacs replied to Attila Kovacs's topic in RTL and Delphi Object Pascal
There is a qualified name, the RTTI lib looks for <projectname.Type> in case of "FindType", however TRealPackage.MakeTypeLookupTable / GetUnits returning only units, not the dpr itself (it's just not in the the PPackageTypeInfo). So yes, there is RTTI but no TypeInfo. Maybe because (as you mention) the <projectname.type> is not a valid qualified name or just forgotten or because it's in the implementation section and does not belong to the PackageTypeInfo anyway (which I think is the reason). But to get a resolution to this, strictly answering my question you are right. And the answer to my problem was what Mahdi said. I could not ask better without knowing a lot of implementation detail. Thank you all. -
RTTI in dpr / console app dpr
Attila Kovacs replied to Attila Kovacs's topic in RTL and Delphi Object Pascal
The question is answered as far as I can see, Ctx.FindType(TypeName) fails on types declared in the dpr, doesn't matter what directives I put there, @Mahdi Safsafi's answer is very plausible for me, with not having interface section, no public pool for them. Not a big deal, just the usual lazy prototyping in a console dpr... thx -
Typed constants in Delphi.
Attila Kovacs replied to Mahdi Safsafi's topic in RTL and Delphi Object Pascal
I have to disagree, it got much better. Sorry for the interruption, please continue. -
You could play around with the LockWindowUpdate(Form.Handle); / LockWindowUpdate(0); and/or with the Form.Perform(WM_SETREDRAW, Winapi.Windows.wParam(LongBool(False)), 0); / Form.Perform(WM_SETREDRAW, Winapi.Windows.wParam(LongBool(True)), 0); pairs. I'm using them in OnDPIChange. It will also give a delay for showing the form.
-
ToolsApi: key boardbindings in the form editor
Attila Kovacs replied to santiago's topic in Delphi IDE and APIs
Then it must be something other than Delphi. -
Revisiting TThreadedQueue and TMonitor
Attila Kovacs replied to pyscripter's topic in RTL and Delphi Object Pascal
I can remember. It's every time Dmitry. -
ToolsApi: key boardbindings in the form editor
Attila Kovacs replied to santiago's topic in Delphi IDE and APIs
ctrl+alt+f12, not the best hotkey though. -
Doesn't this network license cost you mobility? What about notebooks, travelling, home office, etc..? Do you carry a shadow VM with your notebook which runs in the background? What is EMBT's problem with a 20 year old application? They should have make it free/abandonware long time ago if they don't want to take care of it anymore. But wait! There was a campaign in July 2015, buy Delphi XE8 and get an old version free of choice for free with it! Including Delphi 7! So what exactly is EMBT's problem? Nothing, which could't be managed in 5 minutes with some internal changes.
-
Ah, I see, but, Picture.Assign in this case calls TGraphic.Assign(Source) where source is your "jpeg", and it assigns by reference, so you must not free it, it will be free'd on reassigning or destroying the component. As far as I can see in the sources.
-
you changed Picture.Graphic.Assign(DataLink.Field) to Picture.Assign(...); ?
-
after accidentally turning off the "View references before refactoring" option on the form. (ctrl-shift-e) btw. if ctrl-shift-e stops working just trigger the context menu of the IDE code editor once. (right click)
-
Should I separate common units to Public and Internal, or have all Public?
Attila Kovacs replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
"And I have CommonProjectDefinitions.pas where all types and common methods are defined." You either stick with this "very oldschool" method or you explode this unit separated by the modules using it, but splitting it after public/bird/dog/whatever is definitely a way to nowhere. -
you have to edit VTV sources and before every DrawText(W) do a DrawFormat := DrawFormat or DT_EXPANDTABS or DT_TABSTOPS; DrawFormat := DrawFormat or (FTabwidth shl 8); and you can create a property of FTabwidth, (plus one for Expandtabs yes/no).