Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 10 total
Thread SQL property of DBISAMQuery is NULL
Wed, Mar 22 2006 11:24 AMPermanent Link

Jack G.
Hello everyone.

I am using trial version 4.22, and I getting an strange behaviour.

When I drop a TDBISAMQuery object in my form and run the application, I cannot set SQL property of it because it is not initialized, and its value is NULL.

Any clues? Does it happen to anyone else?

Thanks for the help and I apologize for my english.
Wed, Mar 22 2006 11:33 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jack,

<< I am using trial version 4.22, and I getting an strange behaviour.

When I drop a TDBISAMQuery object in my form and run the application, I
cannot set SQL property of it because it is not initialized, and its value
is NULL. >>

Are you getting an error ?  How are you trying to set the SQL property
(example please, if you have one) ?

Thanks,

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Mar 22 2006 11:42 AMPermanent Link

Jack
The code is quite simple:

I have a TDBISAMQuery object in my form, and a button.
When I click the button I have this routine:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
       DBISAMQuery1->Close();
       DBISAMQuery1->SQL->Clear();
}

It raises an error because SQL property is NULL, so it cannot acces Clear method, for example. I bought v3.24 std version long ago and never had this problem.

Maybe I am wrong in the installation sequence? I execute exe file which does it automatically. Or maybe I did not remove old 3.24 version correctly...




"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote:

Jack,

<< I am using trial version 4.22, and I getting an strange behaviour.

When I drop a TDBISAMQuery object in my form and run the application, I
cannot set SQL property of it because it is not initialized, and its value
is NULL. >>

Are you getting an error ?  How are you trying to set the SQL property
(example please, if you have one) ?

Thanks,

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Mar 23 2006 3:20 AMPermanent Link

Jack
I hace reinstalled my old version, v3.24 and now SQL property is correctly initialized.

As far as I see, it seems like I am the only one in this forum wih this problem, so I guess it is not a DBISAM problem, maybe my IDE has some component
installed or some option that conflicts when an object is initialized.

I have tried to create a new component in run-time, but the problem persists. I am using C++ builder 6 version.

Please, any kind of clue will be welcomed, I have been using BDISAM engine for more than 2 years and I am very satisfied with the product. If I can´t get
version 4 to work properly, can I purchase Client/Server full version for 3.24 still? If this is the only version that works, I will be pleased to acquire it even
though it is discontinued.

Or maybe in version 4 things are changed a little bit and SQL property must have some data initialized before it has a valid memory address?

Once again, thanks for the support!

Thu, Mar 23 2006 8:36 AMPermanent Link

"Robert"
Stop whining and do a query.create

procedure TForm1.Button1Click(Sender: TObject);
var q : tdbisamquery;
begin
  if q.SQL = nil then showmessage('SQL is nil') else
  showmessage('not nil');
  q := tdbisamquery.Create(self);
  if q.SQL = nil then showmessage('SQL is nil') else
  showmessage('not nil');
end;

Robert
"Jack" <jagapa@msn.com> wrote in message
news:97070279-2FA0-481A-A604-71AEB3145E75@news.elevatesoft.com...
>I hace reinstalled my old version, v3.24 and now SQL property is correctly
>initialized.
>
> As far as I see, it seems like I am the only one in this forum wih this
> problem, so I guess it is not a DBISAM problem, maybe my IDE has some
> component
> installed or some option that conflicts when an object is initialized.
>
> I have tried to create a new component in run-time, but the problem
> persists. I am using C++ builder 6 version.
>
> Please, any kind of clue will be welcomed, I have been using BDISAM engine
> for more than 2 years and I am very satisfied with the product. If I can´t
> get
> version 4 to work properly, can I purchase Client/Server full version for
> 3.24 still? If this is the only version that works, I will be pleased to
> acquire it even
> though it is discontinued.
>
> Or maybe in version 4 things are changed a little bit and SQL property
> must have some data initialized before it has a valid memory address?
>
> Once again, thanks for the support!
>
>

Thu, Mar 23 2006 3:36 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Robert,

<< Stop whining and do a query.create >>

Easy...no personal attacks please.  He already stated that he dropped a
TDBISAMQuery component on his form, hence a create is not necessary.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Mar 23 2006 3:51 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jack,

<< The code is quite simple:

I have a TDBISAMQuery object in my form, and a button. When I click the
button I have this routine:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
       DBISAMQuery1->Close();
       DBISAMQuery1->SQL->Clear();
}

It raises an error because SQL property is NULL, so it cannot acces Clear
method, for example. I bought v3.24 std version long ago and never had this
problem. >>

What is the exact error message that you are getting ?  Is it an AV - read
of address FFFFFFFF or 00000000 ?

<< Maybe I am wrong in the installation sequence? I execute exe file which
does it automatically. Or maybe I did not remove old 3.24 version
correctly... >>

That shouldn't have anything to do with it, either way it should work okay,
irregardless of whether you compiled using 3.x or 4.x.

I just tried the following code with 4.22 B6 and it worked fine with BCB 6:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "dbisamtb"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  DBISAMQuery1->Open();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  DBISAMQuery1->Close();
  DBISAMQuery1->SQL->Clear();
}
//---------------------------------------------------------------------------

Is this pretty much what you're doing ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Mon, Mar 27 2006 5:11 AMPermanent Link

Jack
Hello all.

Thanks for your replies, I am still trying to find out what is happening.

I attach the screen that is shown when it tries to acces SQL property.

There is a funny thing, I can Open() a DBISAQuery if I fill in design time SQL property, but during execution, SQL is always NULL.

Any chance to purchase Client/Server version for 3.24? I don´t want to reinstall C++ builder because I have so many components installed that it would take me
days to have it again 100% functional...




Attachments: capture.jpg
Mon, Mar 27 2006 12:02 PMPermanent Link

Jack
I got it!!

The problem was in the bpr file.

There was an old reference to db324*.lib file in the libraries xml tag, so it seems there was a conflict with new 422 library.

Now it works!!!

Thank you very much for your time and help.


Mon, Mar 27 2006 3:17 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jack,

<< The problem was in the bpr file.

There was an old reference to db324*.lib file in the libraries xml tag, so
it seems there was a conflict with new 422 library. >>

Those darn BCB project files - they tend to be very dicey in terms of
outdated references, etc. when upgrading.  We usually end up manually
editing our BPK/CPP files to ensure that they are valid.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image