-
Content Count
2716 -
Joined
-
Last visited
-
Days Won
160
Everything posted by Uwe Raabe
-
Yes, that also matches my own understanding. Different main versions are independent.
-
I was more targeting a system on top of the current JIRA Service Desk, not replacing their internal JIRA. After all it is the web interface that sucks, not the fact they use a cloud based JIRA in the first place.
-
Perhaps an MVP project could do it?
-
Gutter width changes a few seconds after IDE startup in Delphi 12
Uwe Raabe replied to dummzeuch's topic in Delphi IDE and APIs
Probably depends on the number of source lines. If they exceed 1000 there must be more space to display the line numbers. -
New Warning in 12.2: Overloading a similar index type by declaring an array property 'Items'
Uwe Raabe replied to pyscripter's topic in RTL and Delphi Object Pascal
IIRC, that has been Delphi 6 or 7. One can even test for that with {$IF CONDITIONALEXPRESSIONS}. -
Delphi 12.2 code editor blinks for every key I press
Uwe Raabe replied to Clément's topic in Delphi IDE and APIs
OK, my setup is Windows (no VM) and IDE Light Theme and that doesn't show any blinking. -
Delphi 12.2 code editor blinks for every key I press
Uwe Raabe replied to Clément's topic in Delphi IDE and APIs
Can you show a small video of that? Based on your description I cannot reproduce that behavior, so I might got it wrong. -
Delphi takes 9 seconds to start/shutdown an empty application
Uwe Raabe replied to FreeDelphiPascal's topic in General Help
If a market share value goes down, it does not imply that the absolute numbers are going down. If there were only 1 million Windows systems in the world, their market share would be 100%. Now when 4 million iPhones are sold, the Windows market share goes down to 20%, but there are still 1 million Windows systems. -
Ord returns the ordinal value of the character, not its position in the alphabet.
-
The people responsible for the feature matrix obviously have another look at things as we developers.
-
Edit1.Text is a string, which internally is a pointer. So Ord returns the value of the pointer. Better identify the char you are interested in: Ord(Edit1.Text[1]);
-
New Warning in 12.2: Overloading a similar index type by declaring an array property 'Items'
Uwe Raabe replied to pyscripter's topic in RTL and Delphi Object Pascal
Yep! I first made use of that almost 10 years ago in a class holding translation strings. Before that the strings were indexed by an Integer, but later we extended that to string indices. property Items[Index: Integer]: string read GetItems; default; property Items[const Index: string]: string read GetItems; default; The interesting part was that both are marked as default properties, which allowed us to simply write something like this: Label1.Caption := Translations[42]; Label2.Caption := Translations['Error']; The most benefit came from the fact that we could keep the Integer based translations and simply add the string based ones - all using the same Translations instance. -
Delphi takes 9 seconds to start/shutdown an empty application
Uwe Raabe replied to FreeDelphiPascal's topic in General Help
Here with D12.2 that time is less than I need to move my hand from the mouse back to my keyboard. Scenario: create empty VCL application save project run with debugger (i.e. Start with F9) close running application with clicking on close button on form title type something in the current editor view -
RSS-683 is indeed not public - probably because the poster missed to share it correctly. The other one is: https://quality.embarcadero.com/browse/RSP-42257
-
New Warning in 12.2: Overloading a similar index type by declaring an array property 'Items'
Uwe Raabe replied to pyscripter's topic in RTL and Delphi Object Pascal
AFAIK, there is no legal syntax to avoid this warning. The only way I know of is locally suppressing it: ... {$WARN OVERLOADING_ARRAY_PROPERTY OFF} property Items[Index : TColumnIndex] : TVirtualTreeColumn read GetItem write SetItem; default; ... end; {$WARN OVERLOADING_ARRAY_PROPERTY DEFAULT} -
Indeed, the links won't work. You have to manually search for the ID in the corresponding portal.
-
https://docwiki.embarcadero.com/RADStudio/Athens/en/12_Athens_-_Release_2 https://docwiki.embarcadero.com/RADStudio/Athens/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_12.2
-
Remember to manually uninstall all Parnassus plugins before you start the update! The auto-uninstall initiated by the setup is not able to handle that.
-
0 < x < Number of MMX users Proof: I am using it, which proves the lower limit You are not using it, which proves the upper limit Let alone that this number would give no usable insight, MMX could only add dropping these bookmarks to the usage report (which it doesn't). Using these bookmarks is an intrinsic IDE functionality which is not traced by MMX. After all, it is optional. Since I took over MMX I had exactly one question on how to disable or change one of these bookmarks, because it interferes with another plugin. Yours is the second. BTW, also since I took over MMX there has been no one sending any usage report (perhaps it just works on my tests but not in the wild), so I don't have any numbers of what people use most or least. While I would not drop any features based on such numbers, they would give me some hints of MMX features that may just be unknown and lack some promotion.
-
Sorry, GDPR.
-
None that I am aware of. Of course!
-
detecting events
Uwe Raabe replied to direktor05's topic in Algorithms, Data Structures and Class Design
Extending my suggestion above, you can achieve this by creating a Group for all these breakpoints. Then add another breakpoint in the timer event, disable Break and select that group in Enable group. Add a similar breakpoint setting Disable group when you want to stop the log messages. -
detecting events
Uwe Raabe replied to direktor05's topic in Algorithms, Data Structures and Class Design
You can set a breakpoint in all possible methods and enter the Condition triggering it. In the Advanced view you can disable Break and set a Log message. This won't interrupt your debugging session and you can see the messages in the event log -
In MMX Code Explorer properties look in General-Searching and History.
-
Gaining access to private class vars of an implementation class
Uwe Raabe replied to Eric Grange's topic in RTL and Delphi Object Pascal
program Project1104; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Classes, System.Types, Winapi.D3D11, FMX.Types3D, FMX.Context.DX11; type TDX11Context = class(TCustomDX11Context) private class var FResources: IInterfaceList; FVSSlot: ID3D11Buffer; FPSSlot: ID3D11Buffer; FVSSlotModified, FPSSlotModified: Boolean; FVSBuf, FPSBuf: array of Byte; FInputLayout: ID3D11InputLayout; FResourceViews: array [0..16] of ID3D11ShaderResourceView; FSampleStates: array [0..16] of ID3D11SamplerState; FBlendDesc: TD3D11_BLEND_DESC; FBlendState: ID3D11BlendState; FBlendStateModified: Boolean; FRasterizerDesc: TD3D11_RASTERIZER_DESC; FRasterizerState: ID3D11RasterizerState; FRasterizerStateModified: Boolean; FDepthStencilDesc: TD3D11_DEPTH_STENCIL_DESC; FDepthStencilState: ID3D11DepthStencilState; FDepthStencilModified: Boolean; FStencilRef: Integer; FBufferSize: TSize; end; TDX11ContextClass = class of TDX11Context; begin try RegisterContextClasses; if TContextManager.DefaultContextClass.ClassNameIs('TDX11Context') then Writeln(Length(TDX11ContextClass(TContextManager.DefaultContextClass).FVSBuf)) else Writeln('Oops!'); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; ReadLn; end.