Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 9 of 9 total
Thread Trying to compile dbsys v4.38 b1
Thu, May 15 2014 9:55 PMPermanent Link

Pat

Hi there,

trying to compile dbsys (using D2009), so F9 and..

- had error "File not found: dbisamut.dcu"
- cannot find any dbisamut.dcu on the HDD
- so I found a C:\Program Files\DBISAM Additional\Version 4\utilcomps\dbisamut.pas file and
- copied it to C:\Program Files\DBISAM Additional\Version 4\utils\dbsys\win32\source\  hoping that might help, but it didn't

any ideas to get it compiling?

Cheers,
Pat
Thu, May 15 2014 10:00 PMPermanent Link

Pat

Pat wrote:

Hi there,

trying to compile dbsys (using D2009), so F9 and..

- had error "File not found: dbisamut.dcu"
- cannot find any dbisamut.dcu on the HDD
- so I found a C:\Program Files\DBISAM Additional\Version 4\utilcomps\dbisamut.pas file and
- copied it to C:\Program Files\DBISAM Additional\Version 4\utils\dbsys\win32\source\  hoping that might help, but it didn't

any ideas to get it compiling?

Cheers,
Pat
Fri, May 16 2014 3:51 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Pat


Its a long time back for me but I seem to recall that there are some Tim designed components involved and you need those linked in. I don't have DBISAM installed any more so can't tell you where they are but its a subject that has been raised a number of times so if you search the newsgroups for DBSys you should find what you need.


Roy Lambert
Fri, May 16 2014 5:36 AMPermanent Link

Pat

Roy Lambert wrote:
..... if you search the newsgroups for DBSys you should find what you need.


Many thanks Roy, found a little gem back in Dec' 2010 (funny you answered that one also).

OK now got DBISAM Utilities in the Tool Palette. I also added
C:\Program Files\DBISAM Additional\Version 4\utilcomps
to the
.Tools\Options\......\Library - win32
just for good luck Smile

F9 now gives me the next problem.
I get a message
[DCC Error] opentbl.pas(346): E2033 Types of actual and formal var parameters must be identical
a couple more [DCC Warning]s and then
[DCC Fatal Error] struct.pas(197): F2063 Could not compile used unit 'opentbl.pas'

Everything stops with the cursor flashing at 'DefaultDir' in the following code from 'opentbl'

procedure TOpenTableDlg.SelectButtonClick(Sender: TObject);
var
  DefaultDir: string;
begin
  if not DirectoryExists(AvailableDatabasesComboBox.Text) then
     DefaultDir:=MainForm.AppSessionSettings.DatabaseDirectory
  else
     DefaultDir:=AvailableDatabasesComboBox.Text;
  if GetDirectory(DefaultDir) then........

The fatal error references the line
uses main, flddtls, keyflds, opentbl, savetbl, dbisamut;
in 'struct'

Where do I head now??
Fri, May 16 2014 8:22 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Pat


I'm still a happy user of D2006 but if memory is still working D2009 is when the switch to unicode happened. So since its telling you the variable types don't match I'd guess its GetDirectory (only one I can see with parameters) is defined with something other than string as the parameter. Since I don't have D2009 I can't look and see. If I'm right you'll need to cast DefaultDir to whatever it wants, or possibly have another variable that you use.

Roy Lambert
Fri, May 16 2014 11:27 AMPermanent Link

Raul

Team Elevate Team Elevate

<<Roy Lambert wrote:
I'm still a happy user of D2006 but if memory is still working D2009 is when the switch to unicode happened. So since its telling you the variable types don't match I'd guess its GetDirectory (only one I can see with parameters) is defined with something other than string as the parameter. Since I don't have D2009 I can't look and see. If I'm right you'll need to cast DefaultDir to whatever it wants, or possibly have another variable that you use.
>>

The release notes for the DBISAM utilities does say right on download page "The source code for these utilities is compatible with Delphi 5 only and may need some minor changes if compiled with a later version of Delphi." so there is possibly quite a few places that requires changes for D2009 or newer

Raul
Fri, May 16 2014 11:39 AMPermanent Link

Raul

Team Elevate Team Elevate

And i just tried recompiling it with D2007 and i did get the dbsys to recompile (ended up needing to rename tsearchdlg) so i'd say issue for you seems Unicode. Don't have my xe5 on this laptop so can't try compiling with anything newer right now.

Trying to use AnsiString in key places where compiler complains might help.

Raul
Sat, May 17 2014 2:40 PMPermanent Link

Raul

Team Elevate Team Elevate

On 5/16/2014 11:39 AM, Raul wrote:
> And i just tried recompiling it with D2007 and i did get the dbsys to recompile (ended up needing to rename tsearchdlg) so i'd say issue for you seems Unicode. Don't have my xe5 on this laptop so can't try compiling with anything newer right now.
>

Tried the new 4.39 in the XE5 and there are just too many Unicode issues
to deal with to make this trivial. The "DefaultDir: string;" error you
can fix by just changing it to "DefaultDir: ansistring;".

However after you will still run into numerous issues both because
things have moved around in units (for example dateformats in sysutils)
as well as unicode changes (char vs ansichar and string vs ansistring).

I'd suggest use ansi version delphi to compile dbsys - d2007 worked for
me in 5 min and prior versions should be as simple as well.

Raul
Mon, May 19 2014 5:51 AMPermanent Link

Pat

Thanks Roy & Raul for your help Wink

I found it was not that bad after all. Had to tidy up about 8 units. Only changes were String to AnsiString and a AsString to AsAnsiString.

It compiles and runs so I guess all is ok.

Gotta learn more about this Unicode. Just started D2009 coming from D6.

Cheers,
Pat
Image