The Unicode issues in GExperts just don't end. Today I fixed three of them: [delphi] procedure bla; begin SomeVar := 3245; // german description with some äöüß to SomeVar SomeVar := 123; SomeQuery.FieldByName('GermanWordWithäöüß').AsString := 'some value'; end; [/delphi] (Yes, I know, this doesn't compile.) Move the cursor to the first occurrence of SomeVar and press … Continue reading GExperts Bugfixes
Category: Delphi
Access Violation in Delphi 6 or 7 when setting IOTASourceEditor.BlockVisible to True
Note to self: If you get an access violation when setting IOTASourceEditor.BlockVisible to true in Delphi 6 or 7 e.g.: [delphi] procedure GxOtaSelectBlock(const Editor: IOTASourceEditor; const Start, After: TOTACharPos); begin Assert(Assigned(Editor)); Editor.BlockVisible := False; try Editor.BlockType := btNonInclusive; Editor.BlockStart := Start; Editor.BlockAfter := After; finally Editor.BlockVisible := True; // <---- BOOM end; end; [/delphi] Check … Continue reading Access Violation in Delphi 6 or 7 when setting IOTASourceEditor.BlockVisible to True
Delphi XE2 crash when opening the About dialog
Today I had a rather annoying problem with Delphi XE2. I only wanted to change the caption of a TListView column using the Columns Editor (right click -> Columns Editor). The IDE crashed on me with an Access Violation. So, I thought I had broken it again (things like this happen when you are developing … Continue reading Delphi XE2 crash when opening the About dialog
TdzStreamCache class for caching access to any TStream
You might have noticed that I haven't blogged as much as usual and that there have been no recent updates to GExperts either. The reason of course was that I was busy doing other things. Some of them were programming related and one of these was writing a caching class wrapper for TStream descendants (e.g. … Continue reading TdzStreamCache class for caching access to any TStream
Using PE Flags in Delphi
There was a discussion about using the PE flag IMAGE_FILE_LARGE_ADDRESS_AWARE and whether this is equivalent to compiling a program to 64 bit Windows target (no it's not) in the German Delphi Praxis forum. This prompted me to have a look at what kind of flags can be specified and how to do that for a … Continue reading Using PE Flags in Delphi
I’m no longer accepting GExperts donations via Flattr
Flattr have changed their terms an conditions. Since I haven't received a single cent via Flattr, I really can't be bothered what exactly they have changed and whether that's good or bad for me personally. So I have closed that account for good. That leaves only PayPal, if you want to make a donation to … Continue reading I’m no longer accepting GExperts donations via Flattr
Enhancements to GExperts Grep
Jeroen has submitted two enhancements to GExperts: Grep search makes IDE unresponsive when searching massive amounts of directories with non-matching files Allow delete key in grep search `Results` pane to delete an entry Thanks! I am still working on the refactoring for the IDE form enhancements, but progress is slow, so the next release will … Continue reading Enhancements to GExperts Grep
dzDebugVisualizers for Delphi 2005, 2006 and 2007
A new test release of my dzDebugVisualizers for Delphi 2005, 2006 and 2007 is available. Apart from fixing an Access Violation when unloading the package I have added support for TDateTime and unquoted (multiline) strings to the Evaluate / Modify window: In addition I have added a "Modifiers" button to the dialog which allows to … Continue reading dzDebugVisualizers for Delphi 2005, 2006 and 2007
dzPrepBuild 1.3.2 released
I was made aware that dzPrepBuild no longer works with .dof files. Since I don't use it with Delhi 6 or 7 any more, I didn't realize that myself. The bugfix was easy, just pass the correct parameter. The new version is available from SourceForge. Note that, for whatever reason, SoureForge still claims that the … Continue reading dzPrepBuild 1.3.2 released
Delphi instance methods and value types
David Heffernan commented on Girish Patil's post on G+ But you should never make instance methods on value types that mutate the value. Otherwise you can call such a method on an instance passed to a function as a const parameter. Where "value types" in this case is meant to be an advanced record in … Continue reading Delphi instance methods and value types