D2009 VCL block that will not compile

I found a bug in Delphi 2009 for TFields implementation and wrote a quick patch. I copied DB.pas to my projects folder and added it to the list of project files, but now I cannot compile it. The first two error messages don't even make sense when I go to the indicated places in the code.

Surely, if anything can be considered correct to compile, this is the code from CodeGear. They have already managed to compile it to create VCL components. So what am I missing? Here's the compiler output:

[DCC Error] DB.pas(2536): E2134 Type 'Pointer' has no type info
[DCC Error] DB.pas(10799): E2066 Missing operator or semicolon
[DCC Error] DB.pas(12933): E2217 Published field 'FCursor' not a class or interface type
[DCC Error] DB.pas(12934): E2217 Published field 'FTitle' not a class or interface type
[DCC Fatal Error] testing.dpr(23): F2063 Could not compile used unit '..\..\..\vclpatch\DB.pas'

      

0


source to share


2 answers


Does it help you add the following line at the top of the DB.pas block.

{$ A8, B, C +, D +, E-, F-, G +, H +, I +, J-, K-, L +, M, N, O +, P +, Q-, R -, S-, T-, U-, V +, W-, X +, Y +, Z1}



If it works after using this line, your project settings are incompatible with the settings that CodeGear used to compile the RTL / VCL.

BTW: Line 2536 is a string containing only the text "type". Have you changed the file? Or are you missing update 1?

+6


source


I faced the same problem with DB.pas but never changed any VCL units. So the reason was clearly my project. Switching Change the runtime type information to false and it fixed the issue.



(Project Options: Delphi Compiler -> Compilation -> Code Generation -> Start Time Type Info)

+1


source







All Articles