Delphi 2009 Compile Bug RRS feed


All replies

  • Never use a beta in a production environment.

    Refer to the End User License Agreement (EULA). To view the EULA, follow these steps:

    1.     Click the Start button.

    2.     Click Help and Support.

    3.     Search for EULA in the box.

    4.     Click the Read the license terms link.

    Rating posts helps other users
    Mark L. Ferguson MS-MVP
    Thursday, January 15, 2009 3:03 PM
  • I know about the EULA about that. It doen't need an expert to tell me that. What I expect form the expert here, was to help resolve my problem. On one side this is beta, you were right, don't use it to productifity environment. On the other side, beta is about testing. Finding as much bug as we can, and fix it to become final that free bug. So plese help me. Thx :)
    Friday, January 16, 2009 5:07 AM
  • Are you able to run the program in Vista Compatibility mode and have it work then?
    ~Alex T.~Windows Desktop Experience MVP~
    Saturday, January 17, 2009 4:30 AM
  • I have. All still failed :(. Combine XP to Vista compability mode with Administrator mode, all was failed :(.
    Monday, January 19, 2009 4:56 AM
    Thanks for reporting the issue. I've download the Delphi 2009. Several questions I have before I go into investigating:

    1. Does the Delphi 2009 problem happens on Windows XP or Windows Vista?
    2. Have you contacted the Delphi? The assertion seems thrown from Delphi
    3. The repro step is not very clear to me. Could you be more descriptive? (sorry, not very familiar with Delphi)

    Monday, February 16, 2009 8:27 AM
  • 1. Delphi 2009 fine in Xp and Vista.
    2. Not yet.
    3. - Download the trial version of Delphi 2009.
        - Install
        - Open new VCL Application, File -- New VCL Form Application.
        - Open Ms Acess, create .mdb with some field and data.
        - Put TAdoTable in the Delphi form, type ADO in the right bottom screen in Tool -- Palete.
        - Create ConnectionString by clicking Object Inspector in the left bottom screen. Choose Jet and the mdb file path.
        - Double click the Tadotable, right click and choose add all fields.
        - Drag all field to the form.
        - Try to compile it few times (Press F9, close the program) and there will be an error like in the in first post.
    4. I have been trying with only official beta build 7000 and before.
    5. The problem is not limited to access, but to all database, event sometime without database. But the fastest repoduction to using the step above.
    6. The only "solution" I have now is to compile it with out warning (Ctrl + Shift + F9). But sometimes I forgot to do so and only press F9 and error.
    7. Once error, when the bds.exe close, it will be an illegal operation. If Microsoft really got the error collection, it should be many bsd.exe error.

    I just hope in RC / Final Windows 7, this problem is fixed. I haven't try another Delphi.

    Thank you.

    Monday, February 16, 2009 10:58 AM
    Great thanks for your very detailed steps. I've tried on the Windows7 latest build, and compile for around 30 times, all looks fine. There are several bug fixes from build 7000 to the latest build. so it looks like the problem has been fixed in the latest build.

    I will try later on win7 Beta to make sure I can repro the issue you have reported to make sure my repro step is correct. Will let you know the result later.

    Monday, February 16, 2009 3:12 PM
  • Hi, Hok:

    Follow the steps you described strickly, but I cannot repro the problem you described in Windows7 Beta either.

    The Delphi version is:
    bds.exe  File Version: 12.0.3170.16989. Build date 8/29/2008
    bordbk120N.dll File Version: Build date 8/29/2008
    My computer architecture is Intel(R) Xeon(TM) CPU 2.40GHz 2.40GHz. O.S. is WIndows7 Beta 32-bit Operating System.

    I did not download the latest patch from codeGear during Delphi 2009 installation.

    Is there anything I'm missing to repro the problem? (After the run, the data does not show up in the form, just some blank fields).
    or do you have a mdb file and the Delphi 2008 project file so that I can try again on my side?


    Tuesday, February 17, 2009 9:22 AM
    By the way, The error message is an assertion error. which will normally show up in debug version of the product code, not the release version. I'm wondering where do you get the Debug version of Delphi 2009.

    Could you try again on your machine to uninstall Delphi 2009 completely and install Delphi 2009 again to have a double check whether you can repro the problem?

    Tuesday, February 17, 2009 9:44 AM
  • The sample file is in the The password is

    Thank for the help.

    Wednesday, February 18, 2009 6:19 AM

    Thanks for your file, I run around 30 times, and still cannot repro the problem. The data is retrieved and changed if I press -> or <- button, so I'm quite sure my repro step is correct.

    Could you right click the file below, and choose properties. goto Details tab, and let me know your file version information? C:\Program Files\CodeGear\RAD Studio\6.0\bin\bordbk120N.dll

    My version information is below:
    File Version:
    Size 514KB
    Date modified: 8/29/2008 12:00PM
    Language: English (United States)

    Wednesday, February 18, 2009 9:55 AM
    OK. I can make a conclusion that it is not Windows7 Beta related. I found the similiar issue reported here. The assertion happens on year 2006 on other platforms. See following bug report on Delphi website:

    You can find more if you use google search with keyword : "thread32.cpp".
    Wednesday, February 18, 2009 2:03 PM
  • I have been opening those link, but it is for Delphi older than 2009. I wish I had latest build Windows 7 so that I can confirm what Ronggang Yu said.
    Friday, February 20, 2009 2:29 AM
  • Tested with leaked RC build 7048. It still the same bug :(.
    Thursday, March 5, 2009 2:04 AM
  • I actually want to post this:
    " the problem has been fixed in leaked RC 7048. Thx" but since it didn't happen, I am posting the previous post :( (see my previous post).
    Thursday, March 5, 2009 2:07 AM
  • Hi, Hok:

      Have you contacted Delphi? The error DLL is bordbk120N.DLL and the error source is: win32src\thread32.cpp line 434.
      Both this DLL and the soruce belong to Delphi. Also, this error has been reported a bunch of times several years ago, so I guess Delphi is the right contact now to solve the problem.

      I check the Delphi bug The resolution of the bug is "need more info". The Resolved in Build is none. which means if it happens on Delphi earlier version, it also happens in the current version.

    Monday, March 9, 2009 8:13 AM
  • Not Yet. I also find Embarcadero has a uninstalling isue on Vista 64 bit. But that not my problem. I am sorry to ask this. But when a sistem just fine in Windows Vista 64 bit, but failed in Windows 7 RC. That why I ask in this forum. But as you point out either the files is incompatible with Windows 7 or Windows 7 has made change that make those file error. If this error occur in Vista than they don't border to sell the product because many will protest about this. Thank you. I think I will try to ask this to Delphi Group (has one but not official and no one replay :().
    Monday, March 9, 2009 11:05 AM
  • This problem is just getting finish. I am trying to duduction about 2 way. Just few minute ago I tried install the leaked Windows 7 build 7057 32 bit. I then install Delphi 2009 and trying to get the error. Fortunately I can not reproduce the error. This can be 2 things:
    1. This problem is only appear in 64 bit.
    2. Windows 7 build 7057 fix this problem.
    To make sure which case it was (I hope it is no 2), I am still trying to download Windows 7 build 7057 64 bit. And I will tried again. If someone willing to try faster than me, fell free to post a replay. Thank you.

    Saturday, March 14, 2009 2:19 AM
  • Since my Internet having trouble, I have just finish download x64 today morning. I have been installed. The strage thing is the 64 bit wallpaper is still bheta fish. I don't do / install anything. Just create system restore and install Delphi. And the result is......
    Just one single compile, generate the exe, close exe and the IDE (or BDE) error back to the first. I thing when this is happen is I just need to go to Embarcadero. Thx for all that help me. Case Close Unsolved (I need use it in 64 bit, not 32 bit).
    • Marked as answer by Hokgiarto Monday, March 16, 2009 4:39 AM
    Monday, March 16, 2009 4:38 AM
  • Hi, All!
     I'm running leaked 7057 64 bit and the problem persists there too.
    I have also tried same thing in 2007 Studio and the same thing happens there too.

    Therefore, I believe it is somehow connected with 64 bit etc.

    Wish us all  a good luck

    Monday, March 16, 2009 8:16 PM
  • I have similar problems with Delphi 2009 on Windows 7 64 bit (from 7000-7100).
    However I have the assertion failure with every project, I want to debug. In March I never saw this problem but today every time I debug something I have to restart Delphi.
    Did anyone had this problem under Vista x64?

    (I also tried the 32bit version without any problems)

    (Sorry for my bad englisch)
    • Edited by stoffl_t Saturday, May 2, 2009 2:05 PM
    Saturday, May 2, 2009 10:15 AM
  • I also have the same issue with Windows 7 64-Bit (7100) and Delphi 2007. I never had any problems with the 32 Bit edtion.
    Saturday, May 2, 2009 1:55 PM
  • To Stoffl_t
    I have using Delphi 2009 with Windows Vista 64 bit and it ok. Just don't play with install and uninstall.
    Delphi 2009 still have some installer issue on Vista 64.
    Just install Vista, Install Delphi, update to latest patch. It will be fine.
    If somehow your Delphi 2009 is broken. You must reinstall Windows Vista 64 bit.
    That my experience.
    Perhaps you can join Delphi weaver beta and test it with Windows 7 64 bit.
    You may try the XP Mode :D.
    Wednesday, May 6, 2009 11:46 AM
  • I write Outlook addins using Delphi, and am currently using Delphi 2007 on Windows 7 x64.

    If I try to debug an addin (I use Addin Express components to create the addins), then close Outlook the asserion error comes up and kills Delphi. Everytime.

    Unfortuentely Addin Express don't have have demo components. I have also seen on the codegear forum that trying to debug any application that uses multiple threads will cause the issue.

    Previously I had been using Vista x64 on the same system, and never saw this bug, so I would assume that it is Windows 7 related.


    Thursday, May 7, 2009 11:23 PM
  • My problem is that even an empty fom consists of several threads.
    Running Delphi in a virtual machine (Virtualbox) I avoided the problem but it is not comfortable.
    I will try the XP Mode within the next few days. I think this is an acceptable (partial) solution.
    With Delphi weaver one of the problems is that you have to be selected and there is a 64 bit compiler but no 64 bit debugger.
    Switching to Vista would be an alternative (but I don't like Vista very much (in relation to Windows 7)) or switching to Windows 7 32 bit (but I have 4 GB RAM).
    I hope there will be a patch or something similar to avoid the assertion failure.
    Friday, May 8, 2009 5:10 AM
  • I know, I don't want to go back to Vista, but I fear I may have to, I have 6Gb of RAM (mainly for Virtual PC testing) so going to Win7 32bit isn't an option.
    Friday, May 8, 2009 5:17 AM
  • I have the same problem on RC 7100 64bit. This is a real nuiscance and hope someone comes up with an answer to this as I don't really want to go back to Vista 64.
    Saturday, May 9, 2009 11:29 PM
  • I found solution for this problem on Win7 x64.
    Open bordbk120N.dll in any HEX editor and change 1 byte at offset 245181 from 0x74 to 0xEB.
    This works very well with bordbk120N.dll version
    • Proposed as answer by stoffl_t Thursday, May 14, 2009 8:43 PM
    Thursday, May 14, 2009 4:48 PM
  • Oh, It seems to be working on my Win7, too.
    I will test it tomorrow.
    However, THANK YOU!!!

    EDIT: Try to search for 57 01 00 48 74 47 80 3D C8 or 01 00 48 74 47 80 3D and then replace 74 into EB.
    I don't know if that works, it's only an idea.
    • Proposed as answer by stoffl_t Thursday, May 14, 2009 8:42 PM
    • Edited by stoffl_t Saturday, May 23, 2009 6:05 PM
    Thursday, May 14, 2009 8:00 PM
  • does nayone have an idea how to do the same for Delphi 2007?

    bordbk105.dll version
    Thursday, May 14, 2009 8:41 PM
  • I do great respect Xelax Ax for this solution!
    Its working!
    Its wonderful. But how? What exacly mean that byte? Assert condition? And how detect it in another version of CodeGear Debugger?

    Thursday, May 14, 2009 9:27 PM
  • Does 51 E8 76 5A 01 00 48 74 47 80 3D AC 5B 45 only exist in version 120?

    Thursday, May 14, 2009 9:29 PM
  • No luck in looking for this in bordbk105.dll version

    OOps spoke too soon.

    I found this hex and tried the change, and it worked.

    57 01 00 48 74 47 80 3d c8

    changed the 74 to eb and all is well....yay
    Thursday, May 14, 2009 9:39 PM
  • I found solution for this problem on Win7 x64.
    Open bordbk120N.dll in any HEX editor and change 1 byte at offset 245181 from 0x74 to 0xEB.
    This works very well with bordbk120N.dll version
    Many thanks for this solution, tried it and does indeed solve the problem. Thankfully I can now use the debugger again.
    Friday, May 15, 2009 12:50 AM
  • In fact in another version I found     01 00 48 74 47 80 3d   and - It's working!
    Friday, May 15, 2009 3:07 AM
  • I do great respect Xelax Ax for this solution!
    Its working!
    Its wonderful. But how? What exacly mean that byte? Assert condition? And how detect it in another version of CodeGear Debugger?

    0x74 is the processor command of conditional jump (JZ), and 0xEB - unconditional jump (JMP), a replacement 0x74 in 0xEB, makes bypass call GetLastError, and also a situation where the ASSERT is blocking the process of debugging
    Friday, May 15, 2009 5:06 AM
  • OK, I understand. My assembler skill is weak. 
    Another question is - this problem is W7 bug, or CodeGear's bug?   I found another bug (or behavior change) in GetThreadLocale.
    Friday, May 15, 2009 7:54 AM
  • I hope there will be found a real solution because now it only doesn't show the error but the failure is still in the dll.
    My opinion is that there are some minor changes between Windows Vista x64 and Windows 7 x64 in the API but I am the opposite of a specialist in this topic.
    Friday, May 15, 2009 10:00 AM
  • These days I noticed some problems with breakpoints. Sometimes the compiler doesn't stop at the right line. I think there is a connection between this and the assertion failure.
    Sunday, May 17, 2009 9:59 AM
  • I'm using Delphi2007 and Win 7 RC (7100) x64
    and after the change of the bordbk105N.dll file didn't have any trouble with breakpoints.

    Sunday, May 17, 2009 10:17 AM
  • to stoffl_t

    I can't see any problem with breakpoints and multithread debug after change. Perhaps, you need delete all dcu's and try again - usually it's cure this problem.

    And, if even failure in dll - no work or sometimes no work - is not difficult choice.
    Sunday, May 17, 2009 7:39 PM
  • My problem doesnt matter me because it only occures very very rarely. And then I only need to restart. Now I think this is a seperate minor problem.

    Sunday, May 17, 2009 7:55 PM
  • I found solution for this problem on Win7 x64.
    Open bordbk120N.dll in any HEX editor and change 1 byte at offset 245181 from 0x74 to 0xEB.
    This works very well with bordbk120N.dll version

    Thank you very very very mach!!!
    After this D2009 works fine without any compatibility and without Administrator mode.
    Monday, May 25, 2009 1:20 PM
  • Hi... I have problems with Delphi 2009 in Windows 7 when I prepared large application code using OpenGL. After few trials I select Delphi 2009 IDE starting in compatibility mode (I use windows xp sp3 compatibility, because I'd like see how windows look on Windows XP environment - this also works fine in Vindows Vista mode) and just have no problem with compiling program. In my occurence compilation under Windows 7 was correct but software I produced has errors in compiled code. After seting comaptibility mode all works fine. Maybe that help you something.
    Tuesday, November 10, 2009 6:31 AM
  • Thank you sir

    but i change 0x74 to 0xbe and D2009 works fine.

    Tuesday, April 11, 2017 9:17 PM