Database error "Component already exists"


2005-05-24 01:44:11 AM
delphi242
I have a D5 app using Paradox that is widely distributed. One user has just
reported a strange problem that I can not figure out. In a routine that opens
up a bunch of tables, he is getting the error "A component named
Link2Mst/Link2Itm/Link2Lo already exists". We use Eureka Log to log the
errors so I have included the relevant information from the log file below.
It seems to indicate that the error is in one of the BDE DLL's rather than
in our code.
The component name it gives seems to be a combination of various field names
in our tables, except that it is not quite right. We do have fields named
Link2Mst, but as far as I can tell we have nothing named Link2Itm or
Link2Lo, so I can not figure out what this is referencing. (I didn't write the
app originally so I don't know every detail about it).
Since it is reported by only one user, I wonder if it has anything to do
with database corruption. Any clues would be appreciated.
Glenn
-------------
Eureka Log error report:
Exception...
Date : 05/20/2005 15:32:15
Address: 0047EAA4
Module : cgw.exe
Type : EDatabaseError
Message: A component named Link2Mst/Link2Itm/Link2Lo already exists.
Operating System...
Type : Microsoft Windows 2000
Build # : 2195
Language: English (United States)
---------------------------------------------------------------------------
|Address |Module |Unit |Class |Procedure/Method |Line|
---------------------------------------------------------------------------
|4E8E2A4B|BANTAM.DLL | | |BT_NativeToClient | |
|4BE3A03D|IDAPI32.DLL| | |__De{*word*81}HookData | |
|4BE3C3B9|IDAPI32.DLL| | |OsLdOemToAnsi | |
|4BE3B076|IDAPI32.DLL| | |OsLdLoadBySymbName | |
|4BE34BA9|IDAPI32.DLL| | |OsMuxUnlock | |
|4BE34B82|IDAPI32.DLL| | |OsMuxUnlock | |
|4BDE6035|IDAPI32.DLL| | |DbiGetLdObj | |
|0067DEB2|cgw.exe |AYSDBUTL.pas| |OpenAllTables |423 |
|0067DE2C|cgw.exe |AYSDBUTL.pas| |OpenAllTables |414 |
|0062A6B7|cgw.exe |COUNT.pas |TformCount|FormCreate |436 |
|4BE340E5|IDAPI32.DLL| | |_OsFree | |
|00544F82|cgw.exe |AysForm.pas |TaysForm |Create |56 |
|00544F6C|cgw.exe |AysForm.pas |TaysForm |Create |55 |
|0065CF41|cgw.exe |MAIN.pas |TFormMain |LoadTransaction |1468|
|77E1383C|user32.dll | | |PtInRect | |
|0058E0BF|cgw.exe |Access.pas |TvsAccess |CheckAndDeny |100 |
|0058E0EC|cgw.exe |Access.pas |TvsAccess |CheckAndDeny |101 |
|0065CD20|cgw.exe |MAIN.pas |TFormMain |LoadTransaction |1421|
|0065CC5C|cgw.exe |MAIN.pas |TFormMain |InitTran |1409|
|77E1383C|user32.dll | | |PtInRect | |
|0058E0BF|cgw.exe |Access.pas |TvsAccess |CheckAndDeny |100 |
|0058E0EC|cgw.exe |Access.pas |TvsAccess |CheckAndDeny |101 |
|0065CA24|cgw.exe |MAIN.pas |TFormMain |InitTran |1363|
|0065A4EF|cgw.exe |MAIN.pas |TFormMain |mnuCountsClick |449 |
|77E1383C|user32.dll | | |PtInRect | |
|77F89134|ntdll.dll | | |RtlLeaveCriticalSection| |
|77F89134|ntdll.dll | | |RtlLeaveCriticalSection| |
|77F89134|ntdll.dll | | |RtlLeaveCriticalSection| |
|77E16482|user32.dll | | |CallWindowProcW | |
|77E15778|user32.dll | | |DispatchMessageA | |
|77E15772|user32.dll | | |DispatchMessageA | |
|0068BDCE|cgw.exe |cgw.dpr | |Cgw |211 |
---------------------------------------------------------------------------