Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 17 total
Thread Lazarus 9.26 with EDB 2.02 Unicode getting error #206 on Tutorial App
Sat, Apr 18 2009 4:07 AMPermanent Link

Todd Neuman
Hi Guys,

I just picked up the LCL and VCL (D2009) versions of ElevateDB (2.02 Build 11) and I'm
playing around with them now.  

I'm trying to do the Tutorials from the Product Manuals and I just can't get it to go on
the Lazarus implementation because whenever I set the Connected Property to True on the
EDBSession1 component in Lazarus I immediately get the following text:

Elevate DB Error #406 Invalid data type identifier ''

But I can set the EDBEngine1.Active to True without a problem.

When I do what I believe are the exact same tasks in D2009 (Unicode) it works just fine
and I can see the sample data.  I also tried the Remote example and again it works in
D2009 but I get the same error in Lazarus/FPC.

I'm new to Lazarus as well (only found out it existed from the tech article Tim did for
the Win CE) and so I'm using Lazarus 0.9.26 and the only component that I've added to it
is the Elevate DB 2.02 Build 11 Unicode.

Oddly when I drop a TEDBEngine on my D2009, it automatically populates many of the
properties (such as Backup Extension, Catalog Extension, etc) but on the Lazarus
implementation many of those fields are blank.

Thanks for any and all help,

Cheers,
Todd
Tue, Apr 21 2009 2:11 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Todd,

<< Oddly when I drop a TEDBEngine on my D2009, it automatically populates
many of the properties (such as Backup Extension, Catalog Extension, etc)
but on the Lazarus implementation many of those fields are blank. >>

Per our phone conversation, I'm checking this out in more detail.  My first
attempts at recreating what you're seeing haven't worked.

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Apr 22 2009 11:20 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Todd,

This is a weird one.  The first time I installed the Lazarus 0.926
Win32-Unicode version of EDB, I saw the problem that you were seeing.
However, once I uninstalled it and installed the Lazarus 0.926 Win32
(non-Unicode) version of EDB, the problem did not occur.  So, I uninstalled
the non-Unicode version and re-installed the Unicode version, and now it
works also.  So, I'm not sure what is going on.  There may be an issue with
the design-time IDE/Object Inspector and WideStrings.

I'll do some more investigating.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Apr 23 2009 4:57 PMPermanent Link

Todd Neuman
Hi Tim,

Because the only thing I've done in Lazarus so far is try to get ElevateDB running, I
tried removing all Elevate LCL components from my system and uninstalling Lazarus.  I made
sure that even the original folders were removed from the hard drive after the uninstall.
I then installed Lazarus to its default (C:\Lazarus) and the LCL Unicode to C:\Comp\EDB
V2\Lazarus Unicode 926 and installed the Design-time LPI.

I then tried dropping an Engine and Session (both Remote and Local) on to a plain
application and I still get the same error for Invalid Data Type ''.  I had thought it
might be a Unicode issue, so I removed the Unicode version and installed the ANSI version
and got the exact same result.  Since I got the same error result I removed the ANSI
version and put the Unicode back in service and still got the same error.  (There seems to
be a trend Wink

I was doing some tracing into the code and playing around.  I found that the
DEFAULT_SIGNATURE constant declared in edbenginemgr is blank when the
TEDBEngineInstance.Initialize is called to set FSignature in edbcomps.  I think this is in
line with why when I drop a component on the form the default values for a bunch of the
properties are not filled in.  

I'm going to continue playing with it, but do you have any ideas on this?  It seems like
the Delphi Assignable Constants type compiler flag but I can't see anything like it in the
compiler options on Lazarus.

Cheers,
Todd
Thu, Apr 23 2009 5:16 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Todd,

<< Because the only thing I've done in Lazarus so far is try to get
ElevateDB running, I tried removing all Elevate LCL components from my
system and uninstalling Lazarus.  I made sure that even the original folders
were removed from the hard drive after the uninstall. I then installed
Lazarus to its default (C:\Lazarus) and the LCL Unicode to C:\Comp\EDB
V2\Lazarus Unicode 926 and installed the Design-time LPI.

I then tried dropping an Engine and Session (both Remote and Local) on to a
plain application and I still get the same error for Invalid Data Type ''.
I had thought it might be a Unicode issue, so I removed the Unicode version
and installed the ANSI version and got the exact same result.  Since I got
the same error result I removed the ANSI version and put the Unicode back in
service and still got the same error.  (There seems to be a trend Wink>>

Yes, it's all related to the fact that the string assignments aren't working
properly at design-time, but only in certain cases.  Of course, I cannot
figure out yet what those cases are.  Right now, for instance, it's working
fine in my Lazarus IDE.

<< I was doing some tracing into the code and playing around.  I found that
the DEFAULT_SIGNATURE constant declared in edbenginemgr is blank when the
TEDBEngineInstance.Initialize is called to set FSignature in edbcomps.  I
think this is in line with why when I drop a component on the form the
default values for a bunch of the properties are not filled in.

I'm going to continue playing with it, but do you have any ideas on this?
It seems like the Delphi Assignable Constants type compiler flag but I can't
see anything like it in the compiler options on Lazarus. >>

No, it can't be that because these aren't constant assignments, rather they
are assignments to normal string members of a class *from* constants.  The
problem is most likely related to the design-time IDE, the object inspector,
and how the published properties are reflected in the object inspector, but
it could also be some other glitch in the compiler code generation.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Apr 23 2009 6:40 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Todd,

What are you seeing at runtime ?  For example, putting the following code on
a blank form:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Engine.Active:=True;
  ShowMessage(Engine.Signature);
end;

Do you see the actual signature, even though the TEDBEngine on the form is
still missing the signature in the object inspector ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Apr 23 2009 7:14 PMPermanent Link

Todd Neuman
"Tim Young [Elevate Software]" wrote:
Do you see the actual signature, even though the TEDBEngine on the form is
still missing the signature in the object inspector ?


I will try this in a bit.  I'm off on a slightly different idea right now.  I have been
using Lazarus 0.9.26.2 (the final point 2) and I noticed on your WinCE demo you were using
0.9.26 BETA.  The theory I'm trying here is that there was some incompatibility /
instability introduced in the .2 subrelease.  Here are the steps I've taken . . .
1 - Uninstalled Lazarus
2 - Uninstalled EDB LCL Ansi & Unicode
3 - Removed the appropriate folders from the hard drive
4 - Installed Lazarus 0.9.26
5 - Installed EDB LCL Ansi

After that it ALL WORKED just like it was supposed to!  Thinking that life might be better
now, I removed EDB LCL ANSI from the Lazarus packages and installed the Unicode version.
Now whenever I attempt to install the EDB LCL Unicode, I get the following message:

"C:\Comp\EDB V2\Lazarus Unicode 926\code\source\edbcursor.pas(1,1) Fatal: Compilation
aborted" and the text editor is simply highlighting the first row of the file (the {*****
row).

If I try to install it again, I get the same message but it is referencing a different
file, such as edbcommsmgr.  Needless to say, I don't get the EDB components on my page and
I can't use them.  I know the code should install because it is the same code that I have
been successfully installing in 0.9.26.2.

I am using the Lazarus 0.9.26 binaries from Source Forge downloaded this afternoon and I
also downloaded another copy of the EDB LCL Unicode files this afternoon too but it didn't
change anything.  

Any chance you could try replicating a new Lazarus 0.9.26 install with just the EDB LCL
Unicode and see what happens on side?

Thank you very much for your attention to this matter.  I realize this is a tricky problem
and I do appreciate the time and effort you are putting in on this.  I will try your
request tonight and post the results.

Cheers,
Todd
Thu, Apr 23 2009 7:25 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Todd,

<< I will try this in a bit.  I'm off on a slightly different idea right
now.  I have been using Lazarus 0.9.26.2 (the final point 2) and I noticed
on your WinCE demo you were using 0.9.26 BETA.  The theory I'm trying here
is that there was some incompatibility / instability introduced in the .2
subrelease. >>

I noticed the same thing, and was just about to try the latest 0.926.2
version. Smiley

<< After that it ALL WORKED just like it was supposed to!  Thinking that
life might be better now, I removed EDB LCL ANSI from the Lazarus packages
and installed the Unicode version.  Now whenever I attempt to install the
EDB LCL Unicode, I get the following message:

"C:\Comp\EDB V2\Lazarus Unicode 926\code\source\edbcursor.pas(1,1) Fatal:
Compilation aborted" and the text editor is simply highlighting the first
row of the file (the {***** row).  >>

This is a weird issue with the compiler that crops up occasionally.  It's
almost like the compiler loses its mind for a second and can't deal with a
perfectly valid source unit.  I've fixed it by removing all .ppu and .o
files from the source directory, and then retrying the
installation/compilation.  That usually fixes it.

<< Any chance you could try replicating a new Lazarus 0.9.26 install with
just the EDB LCL Unicode and see what happens on side? >>

I will do so tonight.  At the very least, I should be able to consistently
reproduce the issue with the 0.926.2 version that you were seeing, since I'm
pretty sure that the differences we were seeing were probably down to the
version being used.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Apr 23 2009 8:08 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Todd,

Yep, it happens reliably with 0.926.2.   Now that I have something that does
it all of the time, I can play around and see what the issue is.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Apr 23 2009 11:03 PMPermanent Link

Todd Neuman
"Tim Young [Elevate Software]" wrote:

Yep, it happens reliably with 0.926.2.   Now that I have something that does
it all of the time, I can play around and see what the issue is.

Hi Tim,

I apologize that I didn't put that detail in sooner in the thread - as a fellow software
developer I know that it's the details that matter.

Thank you for the hint about deleting the .ppu and .o files, it worked perfectly and I now
have a working DB model in Unicode with the base Lazarus 0.9.26.  I will play with that
version until you have a solution for the 0.9.26.2 subrelease.

Cheers,
Todd
Page 1 of 2Next Page »
Jump to Page:  1 2
Image