Is it possible to drag names like these in Delphi? If so, where can I get more information?
An example error message in which he cannot find a specific entry in dbrtl100.bpl I want to know what exact function he cannot find (unit, class, name, parameters, etc.).
--------------------------- myApp.exe - Entry Point Not Found --------------------------- The procedure entry point @Dbcommon@GetTableNameFromSQLEx$qqrx17System@WideString25Dbcommon@IDENTIFIEROption could not be located in the dynamic link library dbrtl100.bpl. --------------------------- OK ---------------------------
I know that this is the GetTableNameFromSQLEx method in the Dbcommon module (I have Delphi with RTL / VCL sources), but sometimes I come across applications in which not all code is available (yes, clients should always buy all the source code for third-party things, but sometimes they don’t).
But tell me, this is an example for which I have no code or just interface files (is anyone BDE.INT?) What parameters does it have (i.e. What is the potential overload)? What type of return does it have?
Is this the same for any version of Delphi?
- Jeroen
Change 1 :
Thanks to Rob Kennedy: tdump -e dbrtl100.bpl does the trick. No need for -um :
C:\WINDOWS\system32>tdump -e dbrtl100.bpl | grep GetTableNameFromSQLEx File STDIN: 00026050 1385 04AC __fastcall Dbcommon::GetTableNameFromSQLEx(const System::WideString, Dbcommon::IDENTIFIEROption)
Edit 2 :
Thanks to Todrej, who found this German article EDN ( English translation by Google ). This article describes the format fairly accurately, and it should be possible to create some Delphi code to unleash it.
Pitti, that the site the author mentions to (and email) is now dead, but it's good to know this information.
- Jeroen
delphi name-mangling bpl
Jeroen Wiert Pluimers
source share