Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 4 of 4 total |
4.27 error with Delphi 2007 |
Fri, Oct 31 2008 7:17 AM | Permanent Link |
Tony Bryer | I've just installed 4.27 and trying to rebuild of one of my apps gives
this error [DCC Error] Orderform.pas(53): F2051 Unit dbisamlb was compiled with a different version of dbisamst.DBISAM_TYPESTR_ZSTRING_FIXED I have deleted all *425 bpls and manually removed DBISAM and reinstalled it on the component palette The dcu directory shows the following DBISAM DCUs after the failed build Directory of J:\DCU\DBISAM 31/10/2008 21:55 72,905 dbisamcn.dcu 31/10/2008 21:55 22,504 dbisamcr.dcu 31/10/2008 21:55 911,817 dbisamen.dcu 31/10/2008 21:55 348,129 dbisamlb.dcu 31/10/2008 21:55 304,376 dbisamsq.dcu 31/10/2008 21:55 17,791 dbisamst.dcu 31/10/2008 21:55 464,237 dbisamtb.dcu Ideas gratefully received -- Tony Bryer, Greentram Software Pty Ltd, Melbourne, Australia 'Software to build on' http://www.greentram.com |
Fri, Oct 31 2008 12:35 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Tony,
<< I've just installed 4.27 and trying to rebuild of one of my apps gives this error [DCC Error] Orderform.pas(53): F2051 Unit dbisamlb was compiled with a different version of dbisamst.DBISAM_TYPESTR_ZSTRING_FIXED I have deleted all *425 bpls and manually removed DBISAM and reinstalled it on the component palette The dcu directory shows the following DBISAM DCUs after the failed build >> Are you compiling from the DBISAM source code itself ? If so, then you want to make sure that you're not mixing those DCUs with other DCUs that may be in different paths in the compiler search path. Also, we normally recommend that you just compile using the DCUs that we distribute, and do not compile the source code that we provide, unless you absolutely need to. -- Tim Young Elevate Software www.elevatesoft.com |
Mon, Nov 3 2008 7:13 AM | Permanent Link |
Tony Bryer | In article <964D8A6B-5C4F-4623-8C4D-11448C804677@news.elevatesoft.com>, Tim
Young [Elevate Software] wrote: > Are you compiling from the DBISAM source code itself ? If so, then you want > to make sure that you're not mixing those DCUs with other DCUs that may be > in different paths in the compiler search path. Also, we normally recommend > that you just compile using the DCUs that we distribute, and do not compile > the source code that we provide, unless you absolutely need to. Thanks now sorted. The fix was to remove the DBISAM\Code from the search path, so (I presume) it gets everything from the BPLs installed into Delphi. I will confess that although I have used Delphi from D1 I still have a somewhat shaky understanding of the mechanics of components and how everything interacts! -- Tony Bryer, Greentram Software Pty Ltd, Melbourne, Australia 'Software to build on' http://www.greentram.com |
Mon, Nov 3 2008 12:57 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Tony,
<< Thanks now sorted. The fix was to remove the DBISAM\Code from the search path, so (I presume) it gets everything from the BPLs installed into Delphi. I will confess that although I have used Delphi from D1 I still have a somewhat shaky understanding of the mechanics of components and how everything interacts! >> No, you need the \Code subdirectory in the search path. What you don't need is the \Code\Source subdirectory. Also, if you have a dbisamst.dcu file in the \Code directory, just delete it so that the compiler will rebuild it. We had a report like yours from another user, and it was this dbisamst.dcu file that was causing the issue. We shipped DBISAM with the dbisamst.pas unit in the \Code subdirectory for a couple of builds, and that was in error. It should be in the \Code\Source subdirectory only. The problem is that the uninstall won't remove any dbisamst.dcu file that was built using the dbisamst.pas unit that was shipped in the \Code subdirectory, so you end up with a dbisamst.dcu file that matches the older version of DBISAM instead of the newer version. So, ultimately, the permanent fix for your situation is to: 1) Delete the existing dbisamst.dcu file 2) Recompile your application 3) Delete the dbisamst.pas file from the \Code subdirectory As for the architecture of Delphi, it's very simple: 1) The IDE uses the design-time package *only* for dealing with the design-time aspects of the components (registration, component palette, object inspector editors, etc.). The design-time package uses the run-time package for the actual work, such as opening tables and displaying the data at design-time. 2) Your application will only use the runtime package if you set up the project to compile using runtime package(s). If you don't (the default situation), then the compiler *always* compiles your project using the compiler search paths (project and library search paths, combined), checking every .DCU to make sure that it is current against any .PAS that may be present, and making sure that all .DCUs have matching interfaces. -- Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Wednesday, April 24, 2024 at 11:07 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |