Question:
For evaluation, I would like to have application that shows the list of installed software in my computer. Can you give me?
Answer:
Yup, since those data keep inside registry, we cant avoid to use registry unit.
Here the codes:
uses
Registry;
procedure TForm1.Button1Click(Sender: TObject);
const
UNINST_PATH = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall';
var
Reg: TRegistry;
SubKeys: TStringList;
ListItem: TlistItem;
i: integer;
sDisplayName, sUninstallString: string;
begin
{
ListView1.ViewStyle := vsReport;
ListView1.Columns.add;
ListView1.Columns.add;
ListView1.Columns[0].caption := 'DisplayName';
ListView1.Columns[1].caption := 'UninstallString';
ListView1.Columns[0].Width := 300;
ListView1.Columns[1].Width := 300;
}
Reg := TRegistry.Create;
with Reg do
try
with ListView1.Items do
try
BeginUpdate;
Clear;
RootKey := HKEY_LOCAL_MACHINE;
if OpenKeyReadOnly(UNINST_PATH) then
begin
SubKeys := TStringList.Create;
try
GetKeyNames(SubKeys);
CloseKey;
for i := 0 to subKeys.Count - 1 do
if OpenKeyReadOnly(Format('%s\%s', [UNINST_PATH, SubKeys[i]])) then
try
sDisplayName := ReadString('DisplayName');
sUninstallString := ReadString('UninstallString');
if sDisplayName <> '' then
begin
ListItem := Add;
ListItem.Caption := sDisplayName;
ListItem.subitems.Add(sUninstallString);
end;
finally
CloseKey;
end;
finally
SubKeys.Free;
end;
end;
finally
ListView1.AlphaSort;
EndUpdate;
end;
finally
CloseKey;
Free;
end;
end;
Question:
The client machine displays error "EOleSysError: Error
loading type library/DLL". DBCLIENT.DLL and IDPROV32.DLL
files are present in the BDE directory of Delphi.
Answer:
Make sure that STDVCL32.DLL is on the machine in the
WINDOWS\SYSTEM directory and registered.
REGSVR32 STDVCL32.DLL
Question:
The client machine displays error "DAX Error class not
registered."
Answer:
You need to have DBCLIENT.DLL on the client, and it needs to
be registered.
Question:
What are the file extensions for dBASE and Paradox tables?
Answer:
File Extensions for Paradox Tables.?
.DB Paradox table?
.FAM listing of related files (like a table's .TV file)?
.LCK Lock file?
.MB Blob file?
.PX Primary index?
.TV Table view settings (not used by BDE)?
.VAL Validity checks and referential integrity?
.Xnn Secondary single-field index, numbered?
.Ynn Secondary single-field index, numbered?
.XGn Composite secondary index ?
.YGn Composite secondary index ?
File Extensions for dBASE Tables?
.DBF dBASE table
.DBT Memos for a dBASE table
.MDX Maintained index of a dBASE table
.NDX Non-maintained index of a dBASE table
.TVF Table view settings for a dBASE table
Question:
I receive a "Cannot load Idapi service library" error.
How do I resolve this?
Answer:
This general IDAPI startup error can occur for a number of
reasons. In the context of a multi-tier application, you
should be sure that STDVCL32.DLL and DBCLIENT.DLL are
registered on the server. Also, make sure that you have
IDPROV32.DLL in the BDE directory.
Question:
What other software do I need to access Microsoft Access
databases and tables
Answer:
You must have Microsoft's DAO version 3.0 drivers installed. The
Access driver does not support DAO 3.5 (Access 97). If you
upgrade Access 95 to Access 97, DAO 3.0 still resides on your
machine, so the driver will function correctly. If you install
Access 97 with no prior version of Access 95, the driver will
not function.
Question:
"Could not find IDataBroker in type library" error. How do I
resolve this error?
Answer:
Stdvcl32.dll may have gotten deleted from your Window's system
directory. If you need to, copy it from your CD and register it
using TRegSvr.exe (found in the Delphi bin directory).
Question:
I get an External Exception error in Delphi when connecting to
Sybase server when in Delphi's IDE or Turbo Debugger with NT4
running the 10.0.4 Sybase client. If I run the application
alone, it executes correctly. How do I get around the problem?
Answer:
In NT4.0 anything that is being debugged with any debugger will
cause the OS to report exceptions that would otherwise be
ignored. "External Exception C0000008" one of those types of
errors. Changing the Sybase client version will solve the
problem. You can move back to the 10.0.3 client.
Question:
Why do I receive an "Interface is not supported" error when
trying to use an interface?
Answer:
Verify that STDVCL32.DLL and your type library are registered.
If casting an interface, you must be using DCOM and the type
library must be registered on the client.
Question:
SELECT INTO statment returning error "ct_cursor(CLOSE); user api
layer: external error: A cursor must be opened before this
command type can be intialized." What is wrong and how do I get
around the problem?
Answer:
The Sybase CTLIB client will always parse a passthrough sql
statement weather or not we (Delphi, BDE, SQL Links, etc.) issue
an 'open' or 'exec'. If a SELECT is found to be the FIRST
word, it (Sybase CTLIB) will try to create a cursor hence the
error message. There is a workaround. Place a comment in front
of the SQL text like so:
CHANGE
select * into #temptable from oldtable
TO
/**/select * into #temptable from oldtable
Question:
"Application is not licensed to run this feature" error when
running demo application from \demos\db\clientds.
Answer:
This error occurs when attempting to use Delphi 3 Client/Server
features from Delphi 3 Professional or Standard editions. This
could happen if you compiled the demos using a compiler other
than the one that comes with Delphi 3 C/S. Check that the
Delphi 3 Professional was not installed previously without first
being un-installed. To correct this situation, uninstall
Delphi, double check for leftover Delphi files, and finally re-
install Delphi 3.0 C/S.
Question:
"External Exception C0000008" or "Access Violation" error with
2.3.3 SQL NET client: I get an Access Violation with Delphi 3
and an External Exception error with Delphi 2 when connecting
to an Oracle server when in Delphi's IDE or Turbo Debugger with
NT4. If I run the application alone, it executes correctly. How
do I get around the problem?
Answer:
Borland has determined that this is a problem with SQL NET
2.3.3. Oracle also recognizes this as a SQL NET problem. There
are a couple of workarounds:
Rename or remove the registry entry
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OTRACE73
This is the solution that Oracle support recommends!
Start Oracle's Installer and remove the "Oracle Trace
collection Serveces 7.3.3.x.x"
Turn off Integrated Debugging in Delphi's IDE
Use an Oracle SQL NET that is older than 2.3.3
Question:
I just installed Delphi using a Read/Write CD drive. It took an unusually long time to install, and now it doesn't run - it just gives an error message. How can I fix this problem?
Answer:
It appears that some Read-Write CD Drives don't work quite right when trying to install Delphi. They may takse an unusually long time to install, with the CD-ROM 'clicking' as it does a reading-stopping-reading process. There is a known problem with HyVal IDE drive causing this problem.
The solution is to install a new driver for the RW-CD that hopefully doesn't have the problem.
Or, you can try installing from a traditional CD-ROM drive instead of the RW-Drive. If you are on a network, another alternative is to 'Map' someone else's CD-ROM drive and install Delphi from this mapped drive.