Skip to search.

Breaking News Visit Yahoo! News for the latest.

×Close this window

GExpertsDiscuss · Discuss development of the GExperts tools for Delphi and C++Builder

The Yahoo! Groups Product Blog

Check it out!

Group Information

  • Members: 707
  • Category: Delphi
  • Founded: Jun 2, 2000
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Hear how Yahoo! Groups has changed the lives of others. Take me there.

Messages

Advanced
Messages Help
Messages 3988 - 4017 of 4100   Oldest  |  < Older  |  Newer >  |  Newest
Messages: Show Message Summaries Sort by Date ^  
#3988 From: "Ulrich" <ulrich.gerhardt@...>
Date: Mon Jul 4, 2011 6:48 am
Subject: Re: Formatter and angle brackets
uligerhardt
Send Email Send Email
 
--- In GExpertsDiscuss@yahoogroups.com, "Ulrich" <ulrich.gerhardt@...> wrote:
> Apparently the name of the new routine "DetectGeneric" fooled me. :-)
>
Followup: If I revert the part of the case statement in
GX_CodeFormatterFormatter that currently calls DetectGeneric to its previous
state (i.e.
     rtOper, rtMathOper, rtPlus, rtMinus, rtLogOper, rtEquals:
       _CurrentToken.SetSpace(Settings.SpaceOperators, True);
in my copy of GExperts) then my "problem code" is formatted correctly.

#3989 From: Thomas Mueller <gexperts@...>
Date: Mon Jul 4, 2011 6:43 pm
Subject: Re: Re: Formatter and angle brackets
dummzeuch
Send Email Send Email
 
Hi,

On 4 July 2011 08:36, Ulrich <ulrich.gerhardt@...> wrote:

> > That can't be, because there is no support for Generics. ;-)
> Apparently the name of the new routine "DetectGeneric" fooled me. :-)

Hm, now that you mention it: Yes, at some time I added code I got from
somebody else (don't remember who it was) which was supposed to add
support for Generics and anonymous methods. I never tried it. That was
on 1. July 2007 - time flies ....
So this does not quite match up with your statement:

> The effect is quite new. I just discovered it when I compiled the 1.35
sources. Exactly the same
> code was formatted correctly with the GExperts code I downloaded previously
(seems like 30.3.2011).

Since you already have got the sources, you could modify the
DetectGeneric function to always return false an see whether this
solves your problem.

twm

#3990 From: "andrechts" <tandrecht@...>
Date: Wed Jul 13, 2011 9:30 pm
Subject: Grep Search Bug
andrechts
Send Email Send Email
 
I'm running GExperts 1.35 under Delphi 2007 on a Windows 7 64 bit machine.  When
I try to do a Grep Search, I can't get the "Search Form Files" check box to have
any effect, and as such, I can't search any of the forms.  Other developers here
on similar machines can search just fine, no matter what.  Any suggestions on
how to search form files with this?  Some are text, some are binary, but none
work.  Thanks.

#3991 From: Erik Berry <eb@...>
Date: Wed Jul 13, 2011 11:26 pm
Subject: Re: Grep Search Bug
ErikBerry
Send Email Send Email
 
On 7/13/2011 4:30 PM, andrechts wrote:
> I'm running GExperts 1.35 under Delphi 2007 on a Windows 7 64 bit machine.
> When I try to do a Grep Search, I can't get the "Search Form Files" check
> box to have any effect, and as such, I can't search any of the forms.
> Other developers here on similar machines can search just fine, no matter
> what.  Any suggestions on how to search form files with this?

I'm not aware of any bugs like this in GExperts and haven't heard of any
similar bug reports, so I'm not sure what might cause the problem.  The other
PCs with the same project have the same directory layout/files, same search
options (including the search scope/dir) and same GExperts and IDE version?
You might do a search, exit the IDE, and export the GExperts registry keys
and import on another machine to verify the GExperts settings are exactly the
same.  Did you specify any path exclusions, such as "dfm"?

I've tested form searching in Delphi 2007 and Windows 7 64, and it works fine
for me.

Erik

#3992 From: "Ulrich" <ulrich.gerhardt@...>
Date: Thu Jul 14, 2011 9:12 am
Subject: Re: Grep Search Bug
uligerhardt
Send Email Send Email
 
--- In GExpertsDiscuss@yahoogroups.com, "andrechts" <tandrecht@...> wrote:
>
> I'm running GExperts 1.35 under Delphi 2007 on a Windows 7 64 bit machine. 
When I try to do a Grep Search, I can't get the "Search Form Files" check box to
have any effect, and as such, I can't search any of the forms.  Other developers
here on similar machines can search just fine, no matter what.  Any suggestions
on how to search form files with this?  Some are text, some are binary, but none
work.  Thanks.

FWIW: It works for me with D2007 on W7/64. All our DFMs are stored as text. It
even works when searching directories and specifying a file mask that
**doesn't** contain *.dfm (e.g. *.pas;*.dpr;*.inc).

Best regards,
Uli.

#3993 From: "serg.barbery" <serg.barbery@...>
Date: Sat Sep 17, 2011 4:49 am
Subject: Component replace: TPanel - > TGroupBox
serg.barbery
Send Email Send Email
 
GExperts 1.35,  Delphi 2010

Steps to reproduce.
Create Form. Place TPanel. Replace it with TGroupBox.
Log shows "Component replaced successfully: TPanel - > TGroupBox:Panel_1"

When trying to save form (or view text source) after replacement I see AV in vcl140.bpl.
D2007 works fine.

[50293633]{vcl140.bpl  } Controls.TControl.IsTouchPropertyStored (Line 5342, "Controls.pas" + 3) + $D
[502C4537]{vcl140.bpl  } Forms.DispatchShortCut (Line 6858, "Forms.pas" + 3) + $3
[502C45F9]{vcl140.bpl  } Forms.TCustomForm.IsShortCut (Line 6881, "Forms.pas" + 3) + $2B
[5006E5A9]{rtl140.bpl  } Classes.IsDefaultObjectProp (Line 8750, "Classes.pas" + 7) + $9
[5006EA4D]{rtl140.bpl  } Classes.IsDefaultPropertyValue (Line 8876, "Classes.pas" + 27) + $1
(00006E1D){IDEFixPack.dll} [0D447E1D]
(00006E5E){IDEFixPack.dll} [0D447E5E]
[5000A0DC]{rtl140.bpl  } System.@CallDynaInst (Line 9885, "System.pas" + 3) + $0
[502A689E]{vcl140.bpl  } Controls.TCustomTouchManager.IsInteractiveGesturesStored (Line 17229, "Controls.pas" + 1) + $9
[50051632]{rtl140.bpl  } TypInfo.IsStoredProp (Line 1614, "TypInfo.pas" + 15) + $0
[5006E2D4]{rtl140.bpl  } Classes.TWriter.WriteProperties (Line 8643, "Classes.pas" + 12) + $5
[5006F118]{rtl140.bpl  } Classes.WriteObjectProp (Line 9046, "Classes.pas" + 28) + $9
[5006F4D8]{rtl140.bpl  } Classes.TWriter.WriteProperty (Line 9130, "Classes.pas" + 22) + $1
[5006E2E5]{rtl140.bpl  } Classes.TWriter.WriteProperties (Line 8644, "Classes.pas" + 13) + $8
[5006DD7B]{rtl140.bpl  } Classes.TWriter.WriteData (Line 8483, "Classes.pas" + 30) + $6
[50074BB3]{rtl140.bpl  } Classes.TComponent.WriteState (Line 11981, "Classes.pas" + 0) + $3
[5006DB4B]{rtl140.bpl  } Classes.TWriter.WriteComponent (Line 8435, "Classes.pas" + 18) + $8
[20DCD19A]{designide140.bpl} ComponentDesigner.TComponentRoot.StreamSelection (Line 3599, "ComponentDesigner.pas" + 13) + $5
[20DCFAE3]{designide140.bpl} ComponentDesigner.TComponentRoot.DeleteSelection (Line 4612, "ComponentDesigner.pas" + 28) + $12
[20DE323F]{designide140.bpl} Surface.TDesignSurface.DeleteSelection (Line 193, "Surface.pas" + 0) + $7
[20DAE39B]{designide140.bpl} Designer.TDesigner.DeleteSelection (Line 751, "Designer.pas" + 2) + $5
[20DB0A27]{designide140.bpl} Designer.TDesigner.Key (Line 1547, "Designer.pas" + 4) + $3
[51A1CF04]{vcldesigner140.bpl} VCLSurface.KeyEvent (Line 3000, "VCLSurface.pas" + 8) + $1E
[51A1D80E]{vcldesigner140.bpl} VCLSurface.TVclDesignSurface.IsDesignMsg (Line 3182, "VCLSurface.pas" + 61) + $6
[50009F92]{rtl140.bpl  } System.@IsClass (Line 9738, "System.pas" + 1) + $8
[50295BDF]{vcl140.bpl  } Controls.TControl.WndProc (Line 6975, "Controls.pas" + 4) + $21
[5029A738]{vcl140.bpl  } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[502BF674]{vcl140.bpl  } Forms.TCustomForm.WndProc (Line 3960, "Forms.pas" + 191) + $5
[501D2A86]{vcl140.bpl  } Graphics.FreeMemoryContexts (Line 6935, "Graphics.pas" + 12) + $F
[50299DD8]{vcl140.bpl  } Controls.TWinControl.MainWndProc (Line 9540, "Controls.pas" + 3) + $6
[50299DED]{vcl140.bpl  } Controls.TWinControl.MainWndProc (Line 9543, "Controls.pas" + 6) + $0
[50076408]{rtl140.bpl  } Classes.StdWndProc (Line 13015, "Classes.pas" + 8) + $0
[5029A738]{vcl140.bpl  } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[502BF674]{vcl140.bpl  } Forms.TCustomForm.WndProc (Line 3960, "Forms.pas" + 191) + $5
[2215517B]{delphivclide140.bpl} VCLFormContainer.TControlSizer.ControlWndProc (Line 306, "VCLFormContainer.pas" + 33) + $C
[50299DD8]{vcl140.bpl  } Controls.TWinControl.MainWndProc (Line 9540, "Controls.pas" + 3) + $6
[50076408]{rtl140.bpl  } Classes.StdWndProc (Line 13015, "Classes.pas" + 8) + $0
(00006C08){IDEFixPack.dll} [0D447C08]
[502C87BA]{vcl140.bpl  } Forms.TApplication.HandleMessage (Line 9790, "Forms.pas" + 1) + $4
[502C8AE5]{vcl140.bpl  } Forms.TApplication.Run (Line 9927, "Forms.pas" + 26) + $3
[004369AE]{bds.exe     } bds.bds (Line 200, "" + 8) + $FFFB


Mapping definition list is the default one (nothing changed).
How can I fix this?

#3994 From: Erik Berry <eb@...>
Date: Sat Sep 17, 2011 6:49 pm
Subject: Re: Component replace: TPanel - > TGroupBox
ErikBerry
Send Email Send Email
 
On 9/16/2011 11:49 PM, serg.barbery wrote:
> GExperts 1.35, Delphi 2010
> Create Form. Place TPanel. Replace it with TGroupBox.
> Log shows "Component replaced successfully: TPanel - > TGroupBox:Panel_1"
>
> When trying to save form (or view text source) after replacement I see AV in
> vcl140.bpl. D2007 works fine.

Thanks for your bug report.  There is a limitation/bug in Delphi 2010 and XE
where if you assign a Component.Touch property from one component to another
and destroy the original component that the new component becomes corrupt (it
isn't like component/interface references, where they either auto-correct
themselves or are reference counted).

For the moment, you can assign a bi-directional replace component property
map from TPanel.Touch to TGroupBox.Touch that is marked as disabled, and that
will work around this problem.  Our next release will not try to assign that
property any longer.

Erik

#3995 From: "serg.barbery" <serg.barbery@...>
Date: Sun Sep 18, 2011 6:20 am
Subject: Re: Component replace: TPanel - > TGroupBox
serg.barbery
Send Email Send Email
 
Thank you!
This really works (Tested with 2010, XE2). XE is not currently installed.

BTW: Is it possible to make Source/Destination component names and properties
for Mapping details using Masks or RegEx to be able to make  rules for for
masked components?

Say it would be really easy to make Touch property disable for all components by
specifying * (or .* as RegExp) as Component.

#3996 From: Erik Berry <eb@...>
Date: Tue Sep 20, 2011 8:30 pm
Subject: Re: Re: Component replace: TPanel - > TGroupBox
ErikBerry
Send Email Send Email
 
On 9/18/2011 1:20 AM, serg.barbery wrote:
> BTW: Is it possible to make Source/Destination component names and
> properties for Mapping details using Masks or RegEx to be able to make
> rules for for masked components?
> Say it would be really easy to make Touch property disable for all
> components by specifying * (or .* as RegExp) as Component.

This isn't currently supported, but I agree it would be useful, mainly for
the "Disabled" properties, though the usefulness will be reduced a little in
the next release that fixes the Touch property problem.

It probably wouldn't be terribly hard to implement, if someone wants to try
to do it.  I believe the UI changes would go in GX_ReplaceCompMapDets.pas and
the property map search and property application changes in places like
TCompRepControllerReal.PrepareMappingForProp and
TPropList.AssignPropsToCompByMapping.

Erik

#3997 From: "Kevin" <kgmccoyyg@...>
Date: Mon Oct 17, 2011 6:45 pm
Subject: Big Project Wizard
jumpsfromplanes
Send Email Send Email
 
I find myself writing the same project over and over again, with massive amounts
of commonality between projects.  The customer obviously needs different forms
here and there, but the considerable infrastructure is always the same.

I almost always need a splash screen, DB login, main form with ribbon, setup
form, real-time user session monitor form, form security/privileges, report
manager, cxGrid user-customization manager, Etc. This is a ton of code, spanning
a couple dozen units.

I don't want to use BPLs for a variety of reasons.

I have already written a basic framework for all this, but just doing basic
customization for a new project is a pain.

I have an idea for a Big Project Wizard to manage initial project creation:

Do a File|New|Other|Wizards and click on the Big Project Wizard icon.

First it would query you for some basic program attributes for the new project -
paths, EXE Name, project friendly name, copyright info, unit name prefix, Etc.

Next it would open a directory of template files and replace various string
macros in the templates to create a customized project and insert the source
into multiple IDE tabs.

You can now bop the F9 key and run a completely functional project shell. 
Commence adding the new customer-specific forms :-)

Using external, compilable (syntactically correct) unit templates allows you to
create different project "classes" with different feature sets.

My problem...

I have ample source code for auto-creating a simple 1-unit project in the IDE
with the ToolsAPI, but none for a variable number of units and forms.

Does anyone have a code snippet for telling OTA to insert 10+ new units/forms
into a project as well as a dozen or so inheritable forms?

Inheritable forms do not need macro replacement - they just need to be added to
the project and do not need to be opened in an IDE tab.  I assume I can manually
add the inheritable forms into the template DPR and have the wizard parse/add
them to the project.

Thanks in advance for pointing me in the right direction. If it works out, I'll
donate the code to the GExperts project.  I'd like to give something back to the
project after using it for years.

Best regards,

Kevin G. McCoy

#3998 From: Erik Berry <eb@...>
Date: Tue Oct 18, 2011 2:33 pm
Subject: Re: Big Project Wizard
ErikBerry
Send Email Send Email
 
On 10/17/2011 1:45 PM, Kevin wrote:
> Does anyone have a code snippet for telling OTA to insert 10+ new
> units/forms into a project as well as a dozen or so inheritable forms?

To add files to a project, you can open a bare DPR you generated (with no
units added yet).  Then call IOTAProject70.AddFile.  See ToolsAPI.pas for
some documentation on that method and here:
http://www.gexperts.org/otafaq.html#project

Some people like using the project creator interfaces (see
http://www.gexperts.org/otafaq.html#projectcreator) to create new projects,
and this can eventually be made to work, but many people find it a
frustrating process since the interfaces have different
limitations/bugs/requirements in each IDE version.  So you can also just
write/copy the dpr/pas files out to disk, open the project, and then call
AddFile as needed.

Erik

#3999 From: "Kevin" <kgmccoyyg@...>
Date: Sat Oct 29, 2011 2:27 am
Subject: Clone App Wizard is complete
jumpsfromplanes
Send Email Send Email
 
I have finished work on a RAD Studio IDE wizard that clones a complete Delphi
project, creating a new customized one in a designated folder.

The wizard is useful for copying and customizing a complete project with as much
infrastructure code and as many basic forms as you like.

During the clone process, the wizard does a search and replace of numerous macro
tags embedded in the template PAS, DFM, DPR and DPROJ files. The replacement
strings are supplied by the user when running the wizard.

Macros can be used to rename classes, set component properties such as captions,
rename units and DFM files to be project specific, Etc.

The wizard follows project unit dependencies, adjusts paths where necessary and
copies modified template files to the output directory. It also creates a new
project in your IDE that includes all the cloned source and support files.

Unlike built in code templates and snippet managers, this wizard can create a
complete compilable/runnable custom project - not just a unit or two.  Just add
new project-specific forms and business rules and you have a working program. 
No more rewriting endless infrastructure code!

The wizard ignores any library and component source that should not be modified,
but does add them to the project if needed.

Using the macro tag system I developed, the template project itself is fully
compilable and runnable.  This allows you to make modifications to the template
source and debug it.  You can easily keep your templates up to date with any
infrastructure code you develop in the future.

Did I mention you can use multiple project templates? Pick the project template
that best matches the feature set you want in the end product.

You have to write your own templates, but that is simpler than it sounds.  The
help file link below explains...

I am offering it to the GExperts group as open source, if there is any interest.
It is probably 95% done, and works in all the trials I have completed.

Here is the help file for the wizard:

http://idk.serveftp.net/cloneappwiz.rar

The rar contains a CHM file with complete help and screen shots.

Best regards,

Kevin G. McCoy

#4000 From: "Kevin" <kgmccoyyg@...>
Date: Sat Oct 29, 2011 4:38 am
Subject: Re: Big Project Wizard
jumpsfromplanes
Send Email Send Email
 
--- In GExpertsDiscuss@yahoogroups.com, Erik Berry <eb@...> wrote:
> Some people like using the project creator interfaces (see
> http://www.gexperts.org/otafaq.html#projectcreator) to create new projects,
> and this can eventually be made to work, but many people find it a
> frustrating process since the interfaces have different
> limitations/bugs/requirements in each IDE version.  So you can also just
> write/copy the dpr/pas files out to disk, open the project, and then call
> AddFile as needed.

I found that AddFile is not needed if you create completed, viable DPR source
and pass it to the IDE via NewProjectSource / IOTAFile.GetSource.

I needed more control over the DPR than I could get with AddFile. In most of my
projects I rewrite the default startup code: I do not instantiate all the
project forms (only the datamodule and conditionally the main form), and quit
inside the DPR startup code if the user fails to log in properly.  I couldn't
see a way to do this with simple AddFile code.

After DPR creation I found that I could simply create a tweaked DPROJ file in
the local project directory and that would satisfy the IDE that a valid project
is loaded.

All the DPR used-unit paths have to point to the right places or missing unit
errors occur, but it is fairly trivial to fix paths.

Hopefully the simplicity of my wizard will make it portable across multiple
compiler versions. Right now, I can only test on Delphi XE. I toss old Delphi
versions after new ones come out, since there is no big reason for me to keep
them around. I've been using Pascal continuously since about Turbo Pascal 3.0
:-)

I will have XE2 in hand soon (I'm on Software Assurance) and will port the
wizard to that platform shortly after receipt.

I don't have any personal interest in the RAD Studio C++ personality, but I
imagine most of the wizard's cloning paradigm would work fine for C++ code.

Check out the wizard help file I posted in my last message and see if you think
it would be useful in GExperts. The help file contains a real-world case study
in cloning a large Delphi project.

Best regards,

Kevin G. McCoy

#4001 From: "yes_know" <lhlynn@...>
Date: Mon Dec 12, 2011 3:20 pm
Subject: Any way to install without Admin privliges
yes_know
Send Email Send Email
 
I'm using Delphi on a Windows XP Pro pc w/o Admin privliges, and the install
program says I need to be logged in as Administrator.  Is there any way around
this, even for a partial install?  Thanks.

#4002 From: Erik Berry <eb@...>
Date: Wed Dec 14, 2011 1:26 am
Subject: Re: Any way to install without Admin privliges
ErikBerry
Send Email Send Email
 
On 12/12/2011 9:20 AM, yes_know wrote:
> I'm using Delphi on a Windows XP Pro pc w/o Admin privliges, and the
> install program says I need to be logged in as Administrator.  Is there
> any way around this, even for a partial install?  Thanks.

You can copy a GExperts installation directory from another machine and then
follow the steps in the "INSTALLATION" section of the Readme.txt.

If you or anyone else is familiar with Inno Setup installer script tool, you
might be able to tweak GExperts.iss in SVN to handle non-admin installs, with
the caveat that GExperts won't install system-wide, you'll need to choose an
installation directory that you can modify, and you must have start/exit the
IDE at least once before installing GExperts to create the required HKCU
registry keys.  The changes might be something like this:

[Setup]
...
PrivilegesRequired=none

[Registry]
...
Root: HKLM; Subkey:
Software\{#RegCompany}\{#IDERegName}\{#IDERegVer}.0\Experts; ValueType:
STRING; ValueName: GExperts; ValueData: {app}\{#DLLName}; Flags:
uninsdeletevalue uninsdeletekeyifempty; Check: IsAdminLoggedOn
...

I don't know how well the IDEs run without admin access, but I recall reading
that some of the debugger features require being an admin (or power user).

Erik

#4003 From: "yes_know" <lhlynn@...>
Date: Wed Dec 14, 2011 12:39 pm
Subject: Re: Any way to install without Admin privliges
yes_know
Send Email Send Email
 
Thanks, that worked.  I don't understand why it wouldn't install if I could
install it manually.

Larry

--- In GExpertsDiscuss@yahoogroups.com, Erik Berry <eb@...> wrote:
>
> On 12/12/2011 9:20 AM, yes_know wrote:
> > I'm using Delphi on a Windows XP Pro pc w/o Admin privliges, and the
> > install program says I need to be logged in as Administrator.  Is there
> > any way around this, even for a partial install?  Thanks.
>
> You can copy a GExperts installation directory from another machine and then
> follow the steps in the "INSTALLATION" section of the Readme.txt.
>
> If you or anyone else is familiar with Inno Setup installer script tool, you
> might be able to tweak GExperts.iss in SVN to handle non-admin installs, with
> the caveat that GExperts won't install system-wide, you'll need to choose an
> installation directory that you can modify, and you must have start/exit the
> IDE at least once before installing GExperts to create the required HKCU
> registry keys.  The changes might be something like this:
>
> [Setup]
> ...
> PrivilegesRequired=none
>
> [Registry]
> ...
> Root: HKLM; Subkey:
> Software\{#RegCompany}\{#IDERegName}\{#IDERegVer}.0\Experts; ValueType:
> STRING; ValueName: GExperts; ValueData: {app}\{#DLLName}; Flags:
> uninsdeletevalue uninsdeletekeyifempty; Check: IsAdminLoggedOn
> ...
>
> I don't know how well the IDEs run without admin access, but I recall reading
> that some of the debugger features require being an admin (or power user).
>
> Erik
>

#4004 From: Erik Berry <eb@...>
Date: Wed Dec 14, 2011 8:37 pm
Subject: Re: Re: Any way to install without Admin privliges
ErikBerry
Send Email Send Email
 
On 12/14/2011 6:39 AM, yes_know wrote:
> Thanks, that worked.  I don't understand why it wouldn't install if I could
install it manually.

It is almost certainly possible to fix, but like everything, requires the
time to actually do the work and then the testing.  A big reason it hasn't
been done is that you are the first person I can recall to ask about it.  The
additional reasons are the ones I mentioned: added restriction/check that IDE
must be started once before you can install, change install script to not
modify system-wide configurations, change default install location, add note
that it can only install for a single user, testing under various OS
versions, anything else I've forgotten, etc.

If someone wants to do the above work, I'll be happy to merge it into the
official install script.

Erik

#4005 From: "Ulrich" <ulrich.gerhardt@...>
Date: Mon Dec 19, 2011 8:36 am
Subject: Changes to GX_Configure and GX_CompsToCode
uligerhardt
Send Email Send Email
 
Hello Erik,

I uploaded two files to
http://tech.groups.yahoo.com/group/GExpertsDiscuss/files.
The changes in GX_Configure.zip add a filter to the GExperts configuration form,
the ones in GX_CompsToCode.zip a preview to the Component To Code expert
configuration form. Each file contains a screenshots of the relevant form.
Maybe you find the changes useful.

Best regards,
Uli.

#4006 From: Erik Berry <eb@...>
Date: Tue Dec 20, 2011 10:01 am
Subject: Re: Changes to GX_Configure and GX_CompsToCode
ErikBerry
Send Email Send Email
 
On 12/19/2011 2:36 AM, Ulrich wrote:
> I uploaded two files to
> http://tech.groups.yahoo.com/group/GExpertsDiscuss/files. The changes in
> GX_Configure.zip add a filter to the GExperts configuration form, the ones
> in GX_CompsToCode.zip a preview to the Component To Code expert
> configuration form. Each file contains a screenshot of the relevant
> form. Maybe you find the changes useful.

Thanks for your code and the screenshots.  The filter changes look good and
are in SVN now.  I fixed a minor issue where the "template" expert layout
panel could become visible again.

For the code preview feature, can you try and edit the code so pressing
Cancel in the dialog doesn't continue to use any modified configuration?  I
think you could either pass in a new "options object" to generate the
preview, or save off the options in the constructor and revert them upon a
cancel.  And can you verify that a nil in the component array acts properly
(in case  ShouldDumpComponent returns false)?  Could the various
"Dlg.rgpBinProps.OnClick := Dlg.SettingsChanged" calls be moved to the DFM
instead?

I'll email you the latest files for this change, since I made a few minor edits.

Erik

#4007 From: "Ulrich" <ulrich.gerhardt@...>
Date: Tue Dec 20, 2011 10:36 am
Subject: Re: Changes to GX_Configure and GX_CompsToCode
uligerhardt
Send Email Send Email
 
--- In GExpertsDiscuss@yahoogroups.com, Erik Berry <eb@...> wrote:
> For the code preview feature, can you try and edit the code so pressing
> Cancel in the dialog doesn't continue to use any modified configuration?  I
> think you could either pass in a new "options object" to generate the
> preview, or save off the options in the constructor and revert them upon a
> cancel.  And can you verify that a nil in the component array acts properly
> (in case  ShouldDumpComponent returns false)?  Could the various
> "Dlg.rgpBinProps.OnClick := Dlg.SettingsChanged" calls be moved to the DFM
> instead?
>
> I'll email you the latest files for this change, since I made a few minor
edits.

Thanks, Erik. I'll have a look at these issues.

Cheers,
Uli.

#4008 From: "f.gaillard" <fg@...>
Date: Fri Dec 30, 2011 10:47 pm
Subject: Replace Component not working anymore
f.gaillard
Send Email Send Email
 
Hi, it seems that "Replace Components" is not working anymore (v1.35 with XE or
XE2).

See this SO question:
http://stackoverflow.com/questions/8671119/gexperts-replace-components-expert-do\
esnt-replace-the-text-in-the-form-file

Wild guess: 1 or more dfm files stay stuck (not written on disk and not
accessible by the compiler)

Anyone knows about that?

#4009 From: "f.gaillard" <fg@...>
Date: Fri Dec 30, 2011 11:19 pm
Subject: Re: Replace Component not working anymore
f.gaillard
Send Email Send Email
 
Went digging into the messages and it seems the Touch property could be the
culprit here. Anyone can confirm?

--- In GExpertsDiscuss@yahoogroups.com, "f.gaillard" <fg@...> wrote:
>
> Hi, it seems that "Replace Components" is not working anymore (v1.35 with XE
or XE2).
>
> See this SO question:
>
http://stackoverflow.com/questions/8671119/gexperts-replace-components-expert-do\
esnt-replace-the-text-in-the-form-file
>
> Wild guess: 1 or more dfm files stay stuck (not written on disk and not
accessible by the compiler)
>
> Anyone knows about that?
>

#4010 From: Erik Berry <eberry@...>
Date: Fri Dec 30, 2011 11:35 pm
Subject: Re: Re: Replace Component not working anymore
Anagoge
Send Email Send Email
 
On 12/30/2011 5:19 PM, f.gaillard wrote:
> Went digging into the messages and it seems the Touch property could be the
culprit here. Anyone can confirm?
>

I suspect it is the problem we fixed a few weeks ago.  See my answer here:
http://stackoverflow.com/a/8685049/72128
http://tech.groups.yahoo.com/group/GExpertsDiscuss/message/3994

I'll try and get an update out there soon, so we can get the existing fix
into everyone's hands.

Erik

#4011 From: "cantak3" <gardnerp@...>
Date: Wed Jan 11, 2012 5:54 pm
Subject: 'No Comments' feature from Grep Search
cantak3
Send Email Send Email
 
Hello,

Under a previous version of Grep Search, there was an option to ignore comments.
This was removed a few years back, but I had never noticed as I only recently
upgraded my Delphi version (as well as GExperts).

I loved this feature, so I have added it back in.  I'd like to submit this to
your group for consideration in a future version.

All changes were made in the Source\Grep directory.  All changed files have been
zipped into a file called GExpertsNoComments.zip and uploaded to your files
area.  SVN did not work with my company's proxy server, so I pulled code from
the repository online.  I tested this with XE2 only so far as it's now my only
version.

Please email me with any questions or comments.

Paul Gardner (not the same guy as on your credits list!)

#4012 From: "cantak3" <gardnerp@...>
Date: Wed Jan 11, 2012 6:48 pm
Subject: Re: 'No Comments' feature from Grep Search
cantak3
Send Email Send Email
 
Too bad this didn't occur to me earlier, but I suppose the syntax for comments
and/or quotations may be different in c++ code?  I am not familiar with c++ at
all, but I'd be happy to modify the code I submitted if needed to work with that
syntax.

Paul

--- In GExpertsDiscuss@yahoogroups.com, "cantak3" <gardnerp@...> wrote:
>
> All changes were made in the Source\Grep directory.  All changed files have
been zipped into a file called GExpertsNoComments.zip and uploaded to your files
area.

#4013 From: "cantak3" <gardnerp@...>
Date: Thu Jan 12, 2012 2:35 pm
Subject: Re: 'No Comments' feature from Grep Search
cantak3
Send Email Send Email
 
Wow.  I discovered another issue.  Perhaps my code is not good enough to be
included in your release!  I tip my hat to whomever implemented the original
version of this feature as it proved quite more complicated than I thought.

In either case, I added a second ZIP file called "GX_GrepRegExSearch Update (no
comments).zip".  Again, it's working for me, so it's not a big deal if you want
to work this into a future release or not.

Sorry for the update.

Paul

--- In GExpertsDiscuss@yahoogroups.com, "cantak3" <gardnerp@> wrote:
>
> All changes were made in the Source\Grep directory.  All changed files have
been zipped into a file called GExpertsNoComments.zip and uploaded to your files
area.

#4014 From: Erik Berry <eb@...>
Date: Sat Jan 14, 2012 12:31 am
Subject: Re: Re: 'No Comments' feature from Grep Search
ErikBerry
Send Email Send Email
 
On 1/11/2012 12:48 PM, cantak3 wrote:
> Too bad this didn't occur to me earlier, but I suppose the syntax for
> comments and/or quotations may be different in c++ code?  I am not
> familiar with c++ at all, but I'd be happy to modify the code I submitted
> if needed to work with that syntax.

Thanks for your work on this feature.  I took a quick scan over the code, but
didn't test it.  Parsing C++ comments would be nice if you want to add it,
but just Delphi is a good step.

C++ comments are of similar complexity to Delphi.  Single line comments begin
with a // token.  Multi-line comments are delimited by /* and */.  { and { do
not begin or end comments.  Comments can not be nested.

You might be able to share most of the comment parsing code by assigning the
delimiters to a variable and setting those variables based on the file type.

Similar issues come up, such as ignoring comment delimiters inside strings.
C++ strings begin and end with a double quote, but the parsing has to be
smart, due to escapes:

"He said \"Hello!\""

And not all sequences of \" are escapes, such as:
"This string ends with a backslash \\"

You also have C++ line continuations, such as this, but I haven't tested if
the C++Builder compiler actually supports it:

"Embedded \
newline in string"

You can call IsPascalSourceFile() to enable Delphi comment parsing and then
IsCpp() and IsC() if you end up trying to add C++ support.  Make sure all
other file types are ignored by that code.

I think replacing comments with spaces before doing the search might lead to
false positive matches when searching for spaces, for example.  And trimming
the spaces off the end of the line might give false positives when searching
for characters that end a line ($ in regex).  Maybe those could be replaced
with a more exotic/rare character before searching?  Make sure the grep
result window uses the version of the search string without the replaced
characters for the match listbox strings.

Erik

#4015 From: "cantak3" <gardnerp@...>
Date: Thu Jan 26, 2012 5:20 pm
Subject: Re: 'No Comments' feature from Grep Search
cantak3
Send Email Send Email
 
I may take a look at the C++ option as well depending on time.  I don't program
in C++ nor use it, so I wouldn't be able to test it very thoroughly.  Your
explanations below are quite helpful.

FYI on the strings, I am only removing them temporarily.  They are added back
prior to the actual search.  If you have a specific text file and search term
that you think would fail, I can take a look at it and fix as needed.

Paul

> Thanks for your work on this feature.  I took a quick scan over the code, but
> didn't test it.  Parsing C++ comments would be nice if you want to add it,
> but just Delphi is a good step.
>
> C++ comments are of similar complexity to Delphi.  Single line comments begin
> with a // token.  Multi-line comments are delimited by /* and */.  { and { do
> not begin or end comments.  Comments can not be nested.
>
> You might be able to share most of the comment parsing code by assigning the
> delimiters to a variable and setting those variables based on the file type.
>
> Similar issues come up, such as ignoring comment delimiters inside strings.
> C++ strings begin and end with a double quote, but the parsing has to be
> smart, due to escapes:
>
> "He said \"Hello!\""
>
> And not all sequences of \" are escapes, such as:
> "This string ends with a backslash \\"
>
> You also have C++ line continuations, such as this, but I haven't tested if
> the C++Builder compiler actually supports it:
>
> "Embedded \
> newline in string"
>
> You can call IsPascalSourceFile() to enable Delphi comment parsing and then
> IsCpp() and IsC() if you end up trying to add C++ support.  Make sure all
> other file types are ignored by that code.
>
> I think replacing comments with spaces before doing the search might lead to
> false positive matches when searching for spaces, for example.  And trimming
> the spaces off the end of the line might give false positives when searching
> for characters that end a line ($ in regex).  Maybe those could be replaced
> with a more exotic/rare character before searching?  Make sure the grep
> result window uses the version of the search string without the replaced
> characters for the match listbox strings.
>
> Erik
>

#4016 From: Stefan Bodingh <stefan@...>
Date: Wed Feb 1, 2012 10:17 pm
Subject: Re: Re: Formatter and angle brackets
tassan359
Send Email Send Email
 
Is there a formatter expert for 1.36?

Regards,
/Stefan

On 2011-07-04 20:43, Thomas Mueller wrote:
> Hi,
>
> On 4 July 2011 08:36, Ulrich <ulrich.gerhardt@...> wrote:
>
>> > That can't be, because there is no support for Generics. ;-)
>> Apparently the name of the new routine "DetectGeneric" fooled me. :-)
>
> Hm, now that you mention it: Yes, at some time I added code I got from
> somebody else (don't remember who it was) which was supposed to add
> support for Generics and anonymous methods. I never tried it. That was
> on 1. July 2007 - time flies ....
> So this does not quite match up with your statement:
>
>> The effect is quite new. I just discovered it when I compiled the
>> 1.35 sources. Exactly the same
>> code was formatted correctly with the GExperts code I downloaded
>> previously (seems like 30.3.2011).
>
> Since you already have got the sources, you could modify the
> DetectGeneric function to always return false an see whether this
> solves your problem.
>
> twm
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>

--

#4017 From: Erik Berry <eb@...>
Date: Wed Feb 8, 2012 6:30 pm
Subject: Re: Changes to GX_Configure and GX_CompsToCode
ErikBerry
Send Email Send Email
 
I added the changes from Ulrich Gerhardt to Subversion that allow a live
preview of some sample generated code to the Components to Code configuration
dialog.  It looks pretty slick.

Feel free to test it and report any issues.

Erik

Messages 3988 - 4017 of 4100   Oldest  |  < Older  |  Newer >  |  Newest
Add to My Yahoo!      XML What's This?

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help