|
|
GExperts FAQ
- I want to contribute to the GExperts project.
What can I do to help?
See the Readme.txt file, and read through the
known bugs and future enhancements section. You
can also join the mailing list and make feature
suggestions or gather general feedback from there.
Generally, it is best to notify the mailing list
before you begin work on a major new feature,
to prevent multiple people from working on the
same task. Also, please only make modifications
to the latest
source from CVS to make it easier for us to
merge in your changes. The full GExperts Developer FAQ may be of interest to you.
As you code your new expert or feature, try
to follow the general formatting, layout, and
style of the existing GExperts source code. The
best way to learn this is to browse the existing
source for a while before you begin coding. The
mailing list is always available if you don't
know where to start. Also, there is a sample expert
template and a sample editor expert template in
the SampleExperts directory.
If you are not interested in coding, you can
also assist with the help files and other documentation,
commenting on the user interface, with testing,
or by donating
money.
- I have multiple IDE versions on my system.
How do I install GExperts?
You should download all of the binary versions
and install them into separate directories. Technically,
you can install them into the same directory but
some non-critical files such as the standalone
expert EXEs will overwrite each other. To share
data between multiple GExperts installs, just
set the "GExperts storage directory" in the configuration
dialog to a shared location.
- Where does GExperts store its settings and
how to I move them to a new computer?
GExperts stores its settings under the IDE's
registry key. For example, for GExperts 1.3x:
BDS 2006: HKEY_CURRENT_USER\Software\Borland\BDS\4.0\GExperts-1.3\
Delphi 7: HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\GExperts-1.3\
Because of this, you can transport your configuration
settings to a new computer by opening regedit.exe,
finding the appropriate registry key, exporting
the key to a .reg file (using the Registry menu),
and then executing the .reg file on the new machine.
Data storage files other than configuration settings
are stored in the GExperts storage directory you
have defined in the GExperts Configuration dialog.
This includes data storage for things like Favorite
Files, Macro Templates, Code Proofreader, Clipboard
History, Macro Library, and Code Librarian snippets.
You can freely copy those files to a new computer
with the same version of GExperts installed. The
data storage files are in a standard XML format,
except for the Code Librarian snippets, which
are stored in a embedded file system binary file
generated by the GPStructuredStorage library.
- Why was support for the older Delphi/C++Builder version X dropped?
We understand that many users continue to use older versions of the
Borland IDEs, for various reasons. For those users, we continue to
make available older versions of GExperts supporting IDEs all of the way back
to Delphi 2, even if our current development no longer officially
supports those older IDE versions.
The reason for not supporting older IDEs is not a purely technical one,
since it is technically possible for us to continue to support all of the way
back to at least Delphi 2 but only with a messy and difficult to maintain code-base.
Instead, the reasons are more practical ones:
- We have limited development and testing resources available to us and we can not spread those too thin.
- Many of the interesting IDE Open Tools interfaces are only available in more recent IDEs
- Over time, it becomes harder to find Open Tools developers who know how to code for and can test their code in older IDEs.
- Supporting older IDEs makes it harder to to take advantage of new IDE and RTL/VCL features.
- Supporting fewer IDEs results in a cleaner code base with fewer version-specific IFDEFs, conditional branches, and IDE bug workarounds.
- Most users seem to prefer that we focus our energy on supporting new IDE releases as soon as they are available.
We welcome anyone who wants to join our mailing list and offer to continue
to test and maintain support for older IDE versions. We can even help support
such development by allowing you to maintain a branch in our CVS repository where you
can more easily track and apply the changes from the main CVS trunk line of code.
- Do I have to uninstall old GExperts versions
before installing a new one? Will I lose my settings
when I upgrade to a new GExperts release?
You should always uninstall an older release
before installing a new one. You can not have
two versions of GExperts loaded into the same
IDE.
If you are upgrading to a new minor update (such
as from GExperts 1.30 to 1.31), you have the ability
to preserve all of your preferences and data files.
To do this, answer No if the uninstaller asks
if you want to delete your preferences and data
files and then just install GExperts into the
same directory as before. If you are upgrading
to a new major release (such as from GExperts
1.2x to 1.3x or 1.x to 2.x) your preferences stored
in the registry will not be compatible, since
they are stored in a different location and often
in different formats (see below). Your GExperts
data files (the .xml and .fs files stored in the
storage directory defined in the GExperts configuration
dialog) are generally compatible when moving from
GExperts 1.2 to 1.3 for example. To use those
in a later release, copy them to your GExperts
1.3 storage directory. If your data files from
an earlier release are incompatible, see the download
area for some conversion utilities.
- I've experienced
crashes or access violations that I think are due
to GExperts. How do I investigate or report this?
First see the known bugs section of the Readme
to see if you have found a known problem. If it
isn't there, be sure you are using the latest
stable version of GExperts. If you still want
to investigate the cause of the problem, you need
to debug a GExperts DLL:
- Obtain
the latest GExperts source code.
- Remove any registry entries which load GExperts
DLLs into your IDE. Look in HKEY_CURRENT_USER\Software\Borland\Delphi\x.0\Experts
(or similar).
- Start your IDE, and verify GExperts is not
loaded.
- Read SourceCode.txt for instructions to compile
the GExperts DLL. Be sure to turn on debug information,
stack frames, reference info, and assertions.
Turn optimization off.
- Install the compiled DLL into your IDE manually
using the instructions in Readme.txt (again
HKEY_CURRENT_USER\Software\Borland\Delphi\x.0\Experts).
- Select Run, Parameters from the IDE menu.
Enter the IDE's executable as the host application.
- Set breakpoints as appropriate in the GExperts
source files.
- Run the host application (F9), and another
copy of the IDE should appear with GExperts
loaded.
- You can now debug the GExperts DLL as it
was a normal program (watches, breakpoints,
inspections, tooltip evaluation, etc.).
- Note that library debugging does not work
well in Delphi 4 and BCB 4. Both will lockup
fairly often when debugging DLLs and packages.
Delphi 3/5/6 are much more stable in this respect.
If you do not have the time or energy to debug
the DLL and find the problem, please attempt as
much of the following as possible:
Determine step-by-step instructions for duplicating
the problem and the text of the error message,
if any. Note the exact version of the IDE and
the exact GExperts version. Attempt to duplicate
the problem with the default (empty) project loaded
or no project loaded. Test the problem with all
other experts disabled. Duplicate the problem
with all third party packages unloaded. Note what
windows you had open, the active one, and what
actions you had performed before seeing the error.
Send a full description of the test results from
above and the problem to the mailing list or using
the Feedback Wizard in the about box.
- What parts of GExperts work with C++ and C#
code?
See the "C++ and C# Compatibility"
section of the GExperts 1.3 help file for details.
For earlier releases, look at the BCBNotes.txt
file for C++ support details.
- How do I recompile the GExperts source code?
See SourceCode.txt for complete instructions.
If you have problems not explained there, join
and then consult the discussion mailing list.
Also, see the Developer FAQ.
- Is there any chance of a GExperts for JBuilder/Visual
Studio/etc.?
This is not likely, since it would require a
nearly complete rewrite to support integration
with other IDEs.
- Is Kylix 3 support available?
Support for Kylix is not currently available.
Our source code has limited support for Kylix,
so you might be able to download it and get it
working, but the limitations and stability of
the Kylix Open Tools/IDE are issues and the time
necessary to test the features under Linux is
another issue. That said, you are welcome to download
the latest source from CVS and see if you
can continue testing and converting GExperts to
be compatible.
- Will you add a source code formatter to GExperts?
There is some preliminary work available as
an unofficial
GExperts addition. In the meantime, there
is a free source code formatter available at:
http://www.dow.wau.nl/aew/DelForExp.html
and an Open Source one at http://jedicodeformat.sourceforge.net/.
- Will you add a tool to GExperts that removes
unnecessary uses clause entries?
Removing "unused" uses clause entries
may seem like a simple task, but the feature is
actually fairly complex and possibly dangerous
to implement. Even if a unit does not make use
of classes/functions in a given used unit, the
initialization and finalization sections in used
units are sometimes performing necessary work.
If we were to ignore initialization and finalization
sections, we would still need to implement the
initial stages of a compiler up to the point of
creating a full symbol table to determine what
unit given identifiers map to, or develop units
to parse the undocumented and ever-changing DCU
file format. We would welcome any code contributions
toward this feature, but we don't have any plans
to implement ourselves it right now. You might
instead try the tools from Peganza.
- How can I share a Code Librarian database over
the network?
GExperts 1.2 can not share this database over
the network. The GExperts 1.1 ClientDataSet (CodeDB.cds)
database can be shared over a network only if
you set the file to be read-only. GExperts 1.0
stores its data in a Paradox database. Sharing
of Paradox databases is governed by your BDE configuration.
The configuration setting is under BDE Administrator,
Configuration, Drivers, Native, PARADOX, and is
called "NET DIR". Set this to a shared network
directory location. See the BDE help file for
full details.
- I get an unknown property error when loading
GExperts or a GExperts form.
If you installed using an official GExperts
installer, please notify us. If you are compiling
from the source code, see the notes in SourceCode.txt
for help.
- Will you please add method folding and other
custom painting to the IDE's code editor?
The functionality necessary to hide code lines
is not surfaced by the Borland Open Tools API,
and it would be unsafe and extremely complicated
to implement without help from the IDE. Custom
painting in the code editor isn't supported by
the OTA either, so it requires low level hacking
(windows hooks, runtime VMT patching, etc.) that
is fairly error-prone and can slow down editing
actions considerably, so as of yet nobody on the
GExperts team has looked into this. Feel free
to send us code contributions toward these features,
but since code folding is present in Delphi 8
and greater, that feature is probably not worth
implementing at this point.
FAQ for IDEs before Delphi 6 and GExperts Releases
Before 1.30
- Under Delphi 7/8/2005, the GExperts 1.2 main menu
and the component palette popup menus open upwards and show offscreen!
First, try upgrading to the latest GExperts 1.3+ release,
where this should be fixed. The new Delphi menu
system does not support menu columns/breaks or
scrolling when the number of menu items grows
larger than the usable screen height. For the
main GExperts menu, one solution is to choose
the GExperts Configuration menu item (above "About...")
and disable enough GExperts experts for the menu
to fit onscreen again. For the component tab popup,
you can disable enough component packages to make
the menu fit onscreen. Another alternative is
to increase your screen resolution.
- Where can I get the Delphi 3.01/3.02 update
required for GExperts?
GExperts can not support Delphi 3.00-3.02 with
the same binary file, because Borland made incompatible
changes to a package between releases. You can
check the Borland
download page or their FTP
site, but I don't think they offer the 3.01
update anymore, so you may need to locate a friend
with the 3.01 update CD. If you have 3.01 already,
the 3.02 patches are available at the link above.
If you still can not find the update you need,
you will need to compile GExperts yourself from
a compatible release of the source
code.
- Why can't I use GExperts in a commercial environment?
You've likely misread the GExperts
license. The restriction on usage in commercial
or proprietary products only applies to using
the GExperts source code, not GExperts binary
distributions.
- Why isn't the Standard/Personal version of
my IDE fully supported?
For GExperts 1.1 and earlier, the standard/personal
editions of Delphi 5+ and C++Builder 5+ do not
have database support, which is required for parts
of GExperts. DLLs without the database experts
(Code Librarian and Code Proofreader) included
are available on the download
page. Starting with GExperts 1.2, GExperts no
longer uses any VCL database code, and all features
should work in those IDEs.
- How can I prevent errors about missing DLLs
and entry points when starting the IDE?
If you get errors that mention "ComCtls.GetComCtlVersion@C43AB84F
could not be located", "@Controls@TSizeConstraints@SetConstraints$qqrii
could not be located", or "can't find wizard,'GExpertX.dll'"
then you are probably running under an older version
of your IDE. Please upgrade
to Delphi 3.02, Delphi 4.03, Delphi 5.01, or Delphi
6.01.
For example, to check if you are running Delphi
3.02, look at the date/time of the VCL30.dpl file
in your system directory:
10/23/97 03:02a 1,287,088 vcl30.dpl
Also, all successful 3.02 patch installs have a
readme302.txt file in the root Delphi 3 directory.
- Can I get GExperts for Delphi 1 or Delphi 2?
What about C++Builder 1 and 3?
An old and totally unsupported version of GExperts
is available for Delphi
2. GExperts will likely never will be available
for Delphi 1 or C++Builder 1. C++Builder 3 might
work, but you must recompile from the old
source code yourself.
- Is GExperts compatible with CodeRush?
CodeRush and GExperts work together fairly well
under Delphi 4+. They partially work together
under Delphi 3, but this isn't recommended. Under
Delphi 3, you will have the best luck if you disable
the editor experts, editor enhancements, and IDE
enhancements.
- Why don't most of the Project Option Sets settings
work?
Many of the project options settings are surfaced
by the IDE's Open Tools interface, but they are
not hooked to any code that allows experts to
get and set the values. Most of these issues are
fixed in Delphi 5.01 and C++Builder 5, but not
all of them. If you notice some options that have
no effect when you apply a project option set,
you are likely experiencing this IDE bug, so please
upgrade. Settings that apparently do not work
in Delphi 5.00 include Assertions, GenConsoleApp
LocalSymbols, IOChecks, LongStrings, Optimization,
OverflowChecks, RangeChecks, StackFrames, UnitDebugInfo,
UnitAliases, TypedAddress, SafeDivide, LibPath,
LibraryList, ReferenceInfo, PentiumFloat, LinkDebugVcl,
ExtendedSyntax, DebugPath, BoolEval, etc.
|
|
|