Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-20 Thread Vincent Snijders
 compared
 to a textmode version that's only 2K ;) :lol:


How can I create a 2K executable with fpc?

Vincent
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-20 Thread Mattias Gärtner
Zitat von waldo kitty wkitt...@windstream.net:

 Martin Friebe wrote:
  Anyway, unless you are willing to spent time on debugging the issue your
  self, and go into the depth of the Connector code, this will probably be
  of little help.

 i've finally been able to work out the following...

 MySQLConnection: TMySQL50Connection;
TMySQL50Connection = Class(TConnectionName);
  TConnectionName = class (TSQLConnection)
TSQLConnection = class (TDatabase)
  TDatabase = class(TCustomConnection)
TCustomConnection = class(TComponent)
  TComponent =
 class(TPersistent,IUnknown,IInterfaceComponentReference)
TPersistent = class(TObject)


 it works out that MySQLConnection.Close is TCustomConnection.Close but if i
 hover the mouse over Close in Procedure Close; in the public section of
 the TCustomConnection definition stuffs, the editor wants to point to the
 textfile close routine Close(var t:Text); which definitely isn't the same
thing :(

The hint window shows the next declaration. For example:

MySQL50Connection.Close;

When the mouse is over 'Close' it will show TCustomConnection.Close, because
TConnectionName and TSQLConnection don't have a 'Close'.

When the mouse is already over a declaration, then it shows the next declaration
with this name, so you can see what this declaration hides. For example when the
mouse is over the

procedure Close;

of TCustomConnection then it will show the 'Close' procedure of the system unit.


 and with all of the searching i've done, i still don't see anything that
 indicates where i can actually lay eyes on the code for
 TCustomConnection.Close

Move editor cursor over 'procedure Close;' of TCustomConnection and press
Ctrl+Shift+Down.

It will take you to

procedure TCustomConnection.Close;
begin
  Connected := False;
end;

Do Ctrl+Click on 'Connected' and it will jump to

property Connected: Boolean read GetConnected write SetConnected;

Do Ctrl+Click on 'SetConnected' and it will jump to

procedure SetConnected (Value : boolean); virtual;

Since this is a virtual method it might be overloaded. But in this case it
isn't. So press Ctrl+Shift+Down to jump to the method body.
And so forth ...


 nor do i see anything indicating that it is assigned to another routine going
 by another name :?

 now i know why i much prefer the old-style procedural coding methods :P

  If you get the stack backtrace you can mail it and hope some one knows
  about...

 i still don't know what this involves :(

http://wiki.lazarus.freepascal.org/Creating_a_Backtrace_with_GDB


Mattias

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-20 Thread Joost van der Sluis
Op maandag 19-01-2009 om 18:29 uur [tijdzone -0500], schreef waldo
kitty:
 Martin Friebe wrote:
  Anyway, unless you are willing to spent time on debugging the issue your 
  self, and go into the depth of the Connector code, this will probably be 
  of little help.
 
 i've finally been able to work out the following...
 
 MySQLConnection: TMySQL50Connection;
TMySQL50Connection = Class(TConnectionName);
  TConnectionName = class (TSQLConnection)
TSQLConnection = class (TDatabase)
  TDatabase = class(TCustomConnection)
TCustomConnection = class(TComponent)
  TComponent = 
 class(TPersistent,IUnknown,IInterfaceComponentReference)
TPersistent = class(TObject)
 
 
 it works out that MySQLConnection.Close is TCustomConnection.Close but if i 
 hover the mouse over Close in Procedure Close; in the public section of 
 the 
 TCustomConnection definition stuffs, the editor wants to point to the 
 textfile 
 close routine Close(var t:Text); which definitely isn't the same thing :(

You can find the code in the fpc-code-dir under
packages/fcl-db/src/base/database.inc. What primarily happens is that
doDisConnect is called.

 and with all of the searching i've done, i still don't see anything that 
 indicates where i can actually lay eyes on the code for 
 TCustomConnection.Close 
 nor do i see anything indicating that it is assigned to another routine going 
 by 
 another name :?

Take a look at TDatabase.DoDisconnect in the same file. It first closes
all queries which are linked to this dataset, and thereafter it closes
all transactions.

So try to close those yourself before you close the database-connection.
See where it goes wrong...

 now i know why i much prefer the old-style procedural coding methods :P
 
  If you get the stack backtrace you can mail it and hope some one knows 
  about...
 
 i still don't know what this involves :(

Run the application in gdb, and when the crash occurs, type 'bt' on the
gdb-prompt. But you must have the fcl-db package compiled with
debug-information for it to make any sense. If you really want to try,
add the fcl-db/src/base fcl-db/src/sqldb fcl-db/src/dbase and
fcl-db/src/sqldb/mysql paths to your compiler-options path and rebuild
your application within Lazarus. That way you can 'step' into the fcl-db
sources...

Joost.


___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-20 Thread waldo kitty
Joost van der Sluis wrote:
 Op maandag 19-01-2009 om 18:29 uur [tijdzone -0500], schreef waldo
 kitty:
 it works out that MySQLConnection.Close is TCustomConnection.Close but if i 
 hover the mouse over Close in Procedure Close; in the public section of 
 the 
 TCustomConnection definition stuffs, the editor wants to point to the 
 textfile 
 close routine Close(var t:Text); which definitely isn't the same thing :(
 
 You can find the code in the fpc-code-dir under
 packages/fcl-db/src/base/database.inc. What primarily happens is that
 doDisConnect is called.

hummm... ok...

 and with all of the searching i've done, i still don't see anything that 
 indicates where i can actually lay eyes on the code for 
 TCustomConnection.Close 
 nor do i see anything indicating that it is assigned to another routine 
 going by 
 another name :?
 
 Take a look at TDatabase.DoDisconnect in the same file. It first closes
 all queries which are linked to this dataset, and thereafter it closes
 all transactions.

ok... well, the query is closed by my code after the variables are loaded with 
the data... then we attempt to close the connection via a routine that all will 
use to close the connection... this routine does two things...

transaction.active := false;
connection.close;

is it enough to set transaction.active:=false? i note there's no 
transaction.close... in any case, the error pops up when the connection.close 
is 
called... so, i'd say that, yes, i've closed the query and the transaction 
before attempting to close the connection...

also, could it be that because i'm not using a datasource that is causing the 
problem?

 So try to close those yourself before you close the database-connection.
 See where it goes wrong...

by the above, i am, aren't i?... in fact, here's code...

 MySQLConnection: TMySQL50Connection;
 CompanyDataSQLQuery: TSQLQuery;
 SQLTransaction: TSQLTransaction;

the CompanyEdit_co_* fields are all TEdits...

procedure TkimsForm.LoadCompanyData(Sender: TObject);
begin
   if MySQLConnection.Connected then begin
 ShowStatus('Connected #1');
 CloseConnection(Sender);
   end;
   if not MySQLConnection.Connected then ShowStatus('NOT Connected #1');
   MySQLConnection.DatabaseName := 'foo';
   MySQLConnection.HostName := 'bar';
   MySQLConnection.Password := 'fubar';
   MySQLConnection.UserName := 'snafu';
   ShowStatus('Connecting to database ' + MySQLConnection.DatabaseName + '...');
   MySQLConnection.Open;
   // If we're connected, retrieve our company info
   if MySQLConnection.Connected then begin
 ShowStatus('Connected');
 ShowStatus('Opening query...');
 CompanyDataSQLQuery.Open;
 if CompanyDataSQLQuery.Active then begin
   CompanyDataSQLQuery.First;
   ShowStatus('Query ACTIVE and at first record...');
   while not CompanyDataSQLQuery.EOF do begin
 ShowStatus('Loading data from row...');
 CompanyEdit_co_name.text := 
CompanyDataSQLQuery.FieldByName('co_name').AsString;
 CompanyEdit_co_address1.text := 
CompanyDataSQLQuery.FieldByName('co_address1').AsString;
 CompanyEdit_co_address2.text := 
CompanyDataSQLQuery.FieldByName('co_address2').AsString;
 CompanyEdit_co_city.text := 
CompanyDataSQLQuery.FieldByName('co_city').AsString;
 CompanyEdit_co_state.text := 
CompanyDataSQLQuery.FieldByName('co_state').AsString;
 CompanyEdit_co_postal.text := 
CompanyDataSQLQuery.FieldByName('co_postal').AsString;
 CompanyEdit_co_phone.text := 
CompanyDataSQLQuery.FieldByName('co_phone').AsString;
 CompanyEdit_co_fax.text := 
CompanyDataSQLQuery.FieldByName('co_fax').AsString;
 CompanyEdit_co_contact.text := 
CompanyDataSQLQuery.FieldByName('co_contact').AsString;
 CompanyEdit_co_taxpercent.text := 
CompanyDataSQLQuery.FieldByName('co_taxpercent').AsString;
 CompanyEdit_co_commission_rate1.text := 
CompanyDataSQLQuery.FieldByName('co_commission_rate1').AsString;
 CompanyEdit_co_commission_rate2.text := 
CompanyDataSQLQuery.FieldByName('co_commission_rate2').AsString;
 CompanyEdit_co_commission_percent1.text := 
CompanyDataSQLQuery.FieldByName('co_commission_percent1').AsString;
 CompanyEdit_co_commission_percent2.text := 
CompanyDataSQLQuery.FieldByName('co_commission_percent2').AsString;
 CompanyDataSQLQuery.Next;
   end;
   ShowStatus('Closing query...');
   CompanyDataSQLQuery.Close;
 end;
 if not CompanyDataSQLQuery.Active then
   ShowStatus('Query NOT ACTIVE');
   end;
   if MySQLConnection.Connected then begin
 ShowStatus('Connected #2');
 CloseConnection(Sender);
   end;
   if not MySQLConnection.Connected then ShowStatus('NOT Connected #2');
end;

procedure TkimsForm.CloseConnection(Sender: TObject);
begin
   // The SQLTransaction gets activated automatically, but before we can close
   // the connection we have to set the SQLTransaction.Active to false.
   if SQLTransaction.Active 

Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-20 Thread waldo kitty
waldo kitty wrote:
 procedure TkimsForm.CloseConnection(Sender: TObject);
 begin
// The SQLTransaction gets activated automatically, but before we can close
// the connection we have to set the SQLTransaction.Active to false.
if SQLTransaction.Active then begin
  ShowStatus('Deactivating SQLTransaction...');
  SQLTransaction.Active := False;
  SQLTransaction.
end;

whoops... the SQLTransaction. line is not supposed to be there... i had 
placed 
it while looking to see if there was a SQLTransaction.Close option and forgot 
to 
remove it before copy'n'paste to the message :?

-- 
NOTE: NEW EMAIL ADDRESS!!

_\/
   (@@)  Waldo Kitty, Waldo's Place USA
__ooO_( )_Ooo_ telnet://bbs.wpusa.dynip.com
_|_|_|_|_|_|_ http://www.wpusa.dynip.com
|_|_|_|_|_| ftp://ftp.wpusa.dynip.com
_|_Eat_SPAM_to_email_me!_YUM!__|_ wkitty42 -at- windstream.net


---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 090120-0, 01/20/2009
Tested on: 1/20/09 15:42:58
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com



___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-20 Thread waldo kitty
Mattias Gärtner wrote:
 Move editor cursor over 'procedure Close;' of TCustomConnection and press
 Ctrl+Shift+Down.

ahhh, that's one i hadn't discovered... i did figure out the CTRL-Click thing 
when i had the CTRL pressed inadvertently while hovering over an item and saw 
that it changed to a link :P

so, following along a slightly different path (DoDisconnect pointed to by 
Joost), i've come to the following in database.inc...

procedure TDatabase.DoDisconnect;
begin
   Closedatasets;
   Closetransactions;
   DoInternalDisConnect;
   if csloading in ComponentState then
 FOpenAfterRead := false;
   FConnected := False;
end;

Closedatasets, Closetransactions, and DoInternalDisConnect are all pointed as 
being in db.pas and the first two, Closedatasets and Closetransactions both 
come 
to code blocks with CTRL-Shift-Down but DoInternalDisConnect does not :?

it is defined in db.pas as

 Procedure DoInternalDisConnect; Virtual;Abstract;

and the IDE doesn't want to show me anything about it when i hover over it so 
now i don't know where to look further :(

on a whim, i went tromping about and have found an empty DoInternalDisConnect 
routine in packages/fcl-db/src/sqldb/sqldb.pp

 procedure TSQLConnection.DoInternalDisconnect;
 begin
 end;

  and another in packages/fcl-db/src/sqldb/mysql/mysqlconn.inc

 procedure TConnectionName.DoInternalDisconnect;
 begin
   inherited DoInternalDisconnect;
   mysql_close(FMySQL);
   FMySQL:=Nil;
   ReleaseMysql;
 end;

which would seem to want to take me to ReleaseMysql from 
packages/mysql/src/mysql.inc...


perhaps i have the wrong idea about database apps?? in all of my coding years, 
the only time i've ever maintained an open connection to the database was way 
back in my days as a dBaseIII/dBaseIV coder working with relational 
databases... 
this was before and just as SQL stuffs started coming along... heck, what we 
call tables today were called databases back then ;)

with that in mind, should i be maintaining a connection to the mysql database 
the whole time my app is running and only close it when i close my app? what 
about for situations where the database server may not allow persistent 
connections and may close the connection after some minutes?

FWIW: this will be a relational type database app in that there is projected 
to be 4 other tables beside the company data table... three of those tables 
will 
be related into the 4th by unique (to each of the 3 tables) id numbers in 
three different columns of the 4th table... yeah, for those who are quick on 
the 
draw, the 4th table is for sales made by each employee (one table) to each 
customer (another table) for each inventory item (the 3rd table)... and all 
this 
just to be able to get to the point of implementing the custom math to 
calculate 
the final sale price, tax and employee commission for the sale... call it an 
exercise in reinventing the wheel, eh? :P

-- 
NOTE: NEW EMAIL ADDRESS!!

_\/
   (@@)  Waldo Kitty, Waldo's Place USA
__ooO_( )_Ooo_ telnet://bbs.wpusa.dynip.com
_|_|_|_|_|_|_ http://www.wpusa.dynip.com
|_|_|_|_|_| ftp://ftp.wpusa.dynip.com
_|_Eat_SPAM_to_email_me!_YUM!__|_ wkitty42 -at- windstream.net


---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 090120-0, 01/20/2009
Tested on: 1/20/09 17:13:17
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com



___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-19 Thread Martin Friebe
waldo kitty wrote:
 Martin Friebe wrote:
   
 but a couple of thinks that come to mind:
 1) What version of FPC are you using (you only said you updated 
 Lazarus); you refer to FPC 2.2.2, have you tried the fixes branch 
 (2.2.3)? or trunc(2.3.1)?
 

 i'm using whatever comes with lazarus... i started with laz 0.9.26 and then 
 completely removed it to install 0.9.27 because i found that some config 
 settings are evidently hardcoded or shared in a/the registry when a dual 
 install 
 of 0.9.27 still had some things pointing to the old 0.9.26 stuffs :? :(
   
On the daily snapshot page, you get a windows build with fpc 2.2.2 and 
another one with 2.2.3 (eq fixes branch of fpc)

lookup -pcp (--primar-config-path)
Lazarus does what a windows  app should do, it stores setting in you 
users home director (depends on windows version)

Then if you installed Lazarus (incl fpc) in one directory = do not 
rename the directory; otherwise you must update you fpc.cfg file 
(windows search to locate)

If you have multiply installations, you may have to go to 
environment-options, and adapt the path to fpc
(once you use -pcp)

 and that might be another bug or something where one can't install laz 
 0.9.26 
 to one directory and 0.9.27 to another and have each come out of the box 
 without 
 sharing any config settings or something... i dunno, as i'm still trying to 
 come 
 to grips with the whole GUI interface and drop this here and that there to 
 create a hello world! GUI app that's 10Meg (tongue in cheek!) in size 
 compared 
 to a textmode version that's only 2K ;) :lol:
   

use strip to get rid of the symbols (or compiler options dialog, unclick 
all the debug info)

But leave it in while looking for a bug

   
 2) You say you do not know the exact error:  because the popup box 
 doesn't state it = Try running the exe in the debugger, make sure you 
 compile with debug symbols for gdb (-g, maybe also -gl).
 

 i've not changed any settings from the defaults on install... i have, a few 
 times, run some stuff directly from the GUI in the debugger but even with 
 256Meg 
 of RAM in this box, it gets a bit on the tight side at times which is why i 
 switched over to simply building the apps and then shutting down laz and 
 running 
 the built code outside on its own... maybe that wasn't/isn't such a good idea?
   
why not, but it doesn't help debugging (unless you do gdb by hand)

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-19 Thread Martin Friebe
waldo kitty wrote:
 Martin Friebe wrote:
   
 2) You say you do not know the exact error:  because the popup box 
 doesn't state it = Try running the exe in the debugger, make sure you 
 compile with debug symbols for gdb (-g, maybe also -gl).
 

 just following up on this (as my other reply hasn't srrived back from the 
 list 
 yet) but i have just attempted to, with laz 0.9.27 fpc 2.2.3, run my app from 
 the laz gui via F9... i got a box stating

 Project raised exception class 'External SIGSEGV'

 at which point i could only click on the [OK] button in that box... then it 
 appeared that my box was locked up but it took a minute or so and another box 
 appeared titled Assembly with what appeared to be a list of addresses but i 
 farkled things up by attempting to scroll the box to see what may have been 
 listed and i lost the starting point that it gave me...
   

Yes the assembly window, ignore that (and yes if you close it to early, 
it does mind that sometimes)

Open view-debug-stack window (alt-ctrl-s)
That will show you where in the Lazarus code the exception happened.  
Problem: Likely it is in the fpc part, which will be useless numbers. Or 
even in the mysql library.

Anyway, unless you are willing to spent time on debugging the issue your 
self, and go into the depth of the Connector code, this will probably be 
of little help.
If you get the stack backtrace you can mail it and hope some one knows 
about...
.


___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-19 Thread Bart
On 1/19/09, waldo kitty wkitt...@windstream.net wrote:

  and that might be another bug or something where one can't install laz 
 0.9.26
  to one directory and 0.9.27 to another and have each come out of the box 
 without
  sharing any config settings or something...

It can be done. Just start lazarus with --pcp=path where you want
lazarus to save settings
I have 0.9.26 and an SVN version up and running on Windows with that
--pcp thing.

AFAIK before 0.9.27 settings were saved in Lazarus directory, after
that in users config directory, which I guess is supplied by OS (on
Windows with GetSpecialFolder (?)).


Bart
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-19 Thread waldo kitty
Martin Friebe wrote:
 Anyway, unless you are willing to spent time on debugging the issue your 
 self, and go into the depth of the Connector code, this will probably be 
 of little help.

i've finally been able to work out the following...

MySQLConnection: TMySQL50Connection;
   TMySQL50Connection = Class(TConnectionName);
 TConnectionName = class (TSQLConnection)
   TSQLConnection = class (TDatabase)
 TDatabase = class(TCustomConnection)
   TCustomConnection = class(TComponent)
 TComponent = 
class(TPersistent,IUnknown,IInterfaceComponentReference)
   TPersistent = class(TObject)


it works out that MySQLConnection.Close is TCustomConnection.Close but if i 
hover the mouse over Close in Procedure Close; in the public section of the 
TCustomConnection definition stuffs, the editor wants to point to the textfile 
close routine Close(var t:Text); which definitely isn't the same thing :(

and with all of the searching i've done, i still don't see anything that 
indicates where i can actually lay eyes on the code for TCustomConnection.Close 
nor do i see anything indicating that it is assigned to another routine going 
by 
another name :?

now i know why i much prefer the old-style procedural coding methods :P

 If you get the stack backtrace you can mail it and hope some one knows 
 about...

i still don't know what this involves :(

-- 
NOTE: NEW EMAIL ADDRESS!!

_\/
   (@@)  Waldo Kitty, Waldo's Place USA
__ooO_( )_Ooo_ telnet://bbs.wpusa.dynip.com
_|_|_|_|_|_|_ http://www.wpusa.dynip.com
|_|_|_|_|_| ftp://ftp.wpusa.dynip.com
_|_Eat_SPAM_to_email_me!_YUM!__|_ wkitty42 -at- windstream.net


---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 090119-0, 01/19/2009
Tested on: 1/19/09 18:29:11
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com



___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-18 Thread waldo kitty
thanks for your response, reenen... it does tend to make sense on the one hand 
but on the other i must ask if you have looked at and/or run the demo code i 
pointed to?

it does check if the connection is open ;)

procedure TFormTryMySQL.ConnectButtonClick(Sender: TObject);
begin
   // Check if we have an active connection. If so, let's close it.
   if MySQLConnection1.Connected then begin
 SQLTransaction1.Active := False;
 MySQLConnection1.Close;
   end;
blahfooblah...;

when i place logging lines in the above, the last logging line that executes is 
the one right above MySQLConnection1.Close; which indicates the error in is 
the MySQLConnection1.Close; library code...

i can see where what you are saying may be possible but it doesn't make sense 
because the next time the above is executed, it works properly (ie: there's 
no 
error)..

what it almost sounds like is that in closing the connection object, something 
was not created during the open which somehow does get created during the 
close...

again, i dunno and that's why i'm here... one would think that demo code should 
work and work properly (ie: without error) out of the box... i won't point back 
to my comment about having problems with several other of the wiki demo apps 
not 
working for some reason or another :?



Reenen Laurie wrote:
 I am very uninformed when it comes to databases, but access violations 
 happens when you do stuff to stuff that's not there.
 
 My guess is that for some reason your close code gets fired twice, and 
 thus it's already closed by the time you get there the second time.
 
 So if there's a way to check if it's open, before you close it, I'd 
 suggest try to close it inside an if open...
 
 Regards,
 -Reenen
 
 On Sun, Jan 18, 2009 at 9:39 PM, waldo kitty wkitt...@windstream.net 
 mailto:wkitt...@windstream.net wrote:
 
 
 history: i'm a long time pascal coder... since TP3 first appeared on the
 market... then to TP5 and most of my time with TP6/BP6 and numerous
 commercial
 apps under my belt... i've dabbled with OOP stuffs, TP7/BP7 and even
 have a copy
 of delphi6-personal that i've not been able to wrap my head
 around... since my
 delphi was a downloaded copy from Inprise, it is also a bit harder
 to work with
 since i've no real documentation that i can lay in my lap to look
 over while
 working on code :? :(
 
 in any case, i've been fighting a battle with mysql50conn for a few
 weeks,
 now... i started with Lazaruz 0.9.26 and last night installed
 Lazarus 0.9.27 to
 see if the problem i'm facing may have been fixed in there but it
 has not and
 i'm not even certain if the problem is in the library code or
 possibly something
 on this old win98SE box :?
 
 ok, enough of the history and story telling...
 
 the details: with the tutorial DB code on the wiki (yeah, i was
 /finally/ able
 to get two or three of those working after some starts, stops and
 fits :P),
 there's several that check to see if the connection to the database
 is active
 and if it is, they attempt to close it... my problem is that the
 first attempt
 to close the connection _always_ throws an error... i don't know
 what specific
 error code because the popup box doesn't state it... the box only says
 
   Access violation.
 
   Press Ok to ignore and risk data corruption.
   Press Cancel to kill the program.
 
   [OK] [Cancel]
 
 i'm triggering my initial connection to the database via a button. i
 click the
 button, the connection takes place, data is retrieved, and the
 connection is
 attempted to close... that's when the error is thrown... however, if
 i hit the
 [OK] button to ignore the error then i can open and close the
 connection to the
 database with no problems... at least it appears that way because
 other routines
 gather other data from other tables and they all connect, gather,
 and disconnect
 without problems... all routines use the very same disconnect
 routine and this
 is what leads be to believe that there's something in the library
 code that's
 the problem...
 
 currently, all the code i'm using simply uses the close procedure of the
 connection object (ie: MySQL50Connection.Close)... i've only one
 graphical demo
 app that doesn't exhibit this problem but it is using mysql4 in the
 uses and a
 lot of manual code instead of the connector, transaction, and sqlquery
 objects... i also have the text modedemo app working and it doesn't
 have the
 problems either... now, i'm not sure, at all, if any of the (demo)
 apps i'm
 working with are using the libmysql.dll file that i placed in my
 windows/system(32?) directory or not... i believe that the textmode
 demo would
 not run without that dll but that was several weeks ago when i was
 

Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-18 Thread Lord Satan
Hi,

I have never done any database stuff either, but AVs cry for a debugger.
Maybe other people on this list can help you, but it will do no harm to give 
gdb (or some such) a chance.

hih
-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-18 Thread waldo kitty
Martin Friebe wrote:
 let me start with No I have not executed the demo code;

:) i can appreciate that ;)

 but a couple of thinks that come to mind:
 1) What version of FPC are you using (you only said you updated 
 Lazarus); you refer to FPC 2.2.2, have you tried the fixes branch 
 (2.2.3)? or trunc(2.3.1)?

i'm using whatever comes with lazarus... i started with laz 0.9.26 and then 
completely removed it to install 0.9.27 because i found that some config 
settings are evidently hardcoded or shared in a/the registry when a dual 
install 
of 0.9.27 still had some things pointing to the old 0.9.26 stuffs :? :(

and that might be another bug or something where one can't install laz 0.9.26 
to one directory and 0.9.27 to another and have each come out of the box 
without 
sharing any config settings or something... i dunno, as i'm still trying to 
come 
to grips with the whole GUI interface and drop this here and that there to 
create a hello world! GUI app that's 10Meg (tongue in cheek!) in size 
compared 
to a textmode version that's only 2K ;) :lol:

 2) You say you do not know the exact error:  because the popup box 
 doesn't state it = Try running the exe in the debugger, make sure you 
 compile with debug symbols for gdb (-g, maybe also -gl).

i've not changed any settings from the defaults on install... i have, a few 
times, run some stuff directly from the GUI in the debugger but even with 
256Meg 
of RAM in this box, it gets a bit on the tight side at times which is why i 
switched over to simply building the apps and then shutting down laz and 
running 
the built code outside on its own... maybe that wasn't/isn't such a good idea?

 Or try to compile not as a windows app (switch off -WG) then you get a 
 console window, and a lot of output.
 (Both options are in Project-compiler options-tab: linking)

hummm... that's something i haven't tried and actually wasn't aware of... since 
i'm on a winwhatever box, i did turn on the windows app option in the settings 
but other than that, i've not altered any settings from their defaults (that i 
know of)...

 It could be in the RTL, in which case it would be helpful to rebuild 
 this with debug support

interesting... how to do that, i dunno but it would also seem that others might 
attempt to run the same demo(s) i'm pointing to in a clean install environment 
if for nothing other than to at least confirm it on other machines/installs 
than 
mine... i can't say that my setup is perfect... long way from it, in fact but 
it 
just seems that since i've reproduced it in at least two separate 
installations, 
that... well... you know? ;)

-- 
NOTE: NEW EMAIL ADDRESS!!

_\/
   (@@)  Waldo Kitty, Waldo's Place USA
__ooO_( )_Ooo_ telnet://bbs.wpusa.dynip.com
_|_|_|_|_|_|_ http://www.wpusa.dynip.com
|_|_|_|_|_| ftp://ftp.wpusa.dynip.com
_|_Eat_SPAM_to_email_me!_YUM!__|_ wkitty42 -at- windstream.net


---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 090118-0, 01/18/2009
Tested on: 1/19/09 02:00:02
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com



___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-18 Thread waldo kitty
Martin Friebe wrote:
 2) You say you do not know the exact error:  because the popup box 
 doesn't state it = Try running the exe in the debugger, make sure you 
 compile with debug symbols for gdb (-g, maybe also -gl).

just following up on this (as my other reply hasn't srrived back from the list 
yet) but i have just attempted to, with laz 0.9.27 fpc 2.2.3, run my app from 
the laz gui via F9... i got a box stating

Project raised exception class 'External SIGSEGV'

at which point i could only click on the [OK] button in that box... then it 
appeared that my box was locked up but it took a minute or so and another box 
appeared titled Assembly with what appeared to be a list of addresses but i 
farkled things up by attempting to scroll the box to see what may have been 
listed and i lost the starting point that it gave me...

so, at that point, i used the Laz GUI's stop (CTRL-F2 IIRC) option to 
terminate the app but now i'm still waiting on Laz to come back to life... 
since 
it has been over 5 minutes, it appears that i'm going to have to reboot the 
system to get it back and try to go on further :?

 Or try to compile not as a windows app (switch off -WG) then you get a 
 console window, and a lot of output.
 (Both options are in Project-compiler options-tab: linking)

i may try this option next... dunno know what i'll see as far as output... 
anything special i should watch for or possibly TEE to a log file??

maybe i should also mention that i'm using 4DOS for a command interpreter 
replacement, too?? possibly that could have something to do with this problem??

-- 
NOTE: NEW EMAIL ADDRESS!!

_\/
   (@@)  Waldo Kitty, Waldo's Place USA
__ooO_( )_Ooo_ telnet://bbs.wpusa.dynip.com
_|_|_|_|_|_|_ http://www.wpusa.dynip.com
|_|_|_|_|_| ftp://ftp.wpusa.dynip.com
_|_Eat_SPAM_to_email_me!_YUM!__|_ wkitty42 -at- windstream.net


---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 090118-0, 01/18/2009
Tested on: 1/19/09 02:14:14
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com



___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-18 Thread waldo kitty
waldo kitty wrote:
 Project raised exception class 'External SIGSEGV'
 
 at which point i could only click on the [OK] button in that box... then it 
 appeared that my box was locked up but it took a minute or so and another box 
 appeared titled Assembly with what appeared to be a list of addresses but i 
 farkled things up by attempting to scroll the box to see what may have been 
 listed and i lost the starting point that it gave me...
 
 so, at that point, i used the Laz GUI's stop (CTRL-F2 IIRC) option to 
 terminate the app but now i'm still waiting on Laz to come back to life... 
 since 
 it has been over 5 minutes, it appears that i'm going to have to reboot the 
 system to get it back and try to go on further :?

and another followup... i finally ended up using enditall to kill the gdb and 
laz tasks... laz first since i didn't notice gdb until afterward... anyway, i 
then reloaded laz and ran my app via F9 again... this time, i left the 
Assembler 
(not Assembly as previously stated) window alone when it came up and after a 
minute or so, its output finally settled down such that the output looks like 
so...

BFF8AC13
03508E48 ..
03508E49 ..
03508E4A ..
03508E4B ..
03508E4C ..
03508E4D ..
03508E4E ..
03508E4F ..
03508E50 ..
03508E51 ..
03508E52 ..
03508E53 ..
03508E54 ..
03508E55 ..
03508E56 ..
03508E57 ..
03508E58 ..
03508E59 ..
03508E5A ..
03508E5B ..
03508E5C ..

and that's all i can see without mucking about with that box...

since i can't resist, i did try to scroll up to see what i could see and i have 
this for the X entries above the starting and including the first one in the 
above...

BFF8AC0F ..
BFF8AC10
BFF8AC10
BFF8AC10
BFF8AC10
BFF8AC10 ..
BFF8AC11 ..
BFF8AC12 ..
BFF8AC13 starting point of above...

dunno know if that helps anyone or not.. it doesn't help me as it appears to be 
addresses but there's no associated content :(


-- 
NOTE: NEW EMAIL ADDRESS!!

_\/
   (@@)  Waldo Kitty, Waldo's Place USA
__ooO_( )_Ooo_ telnet://bbs.wpusa.dynip.com
_|_|_|_|_|_|_ http://www.wpusa.dynip.com
|_|_|_|_|_| ftp://ftp.wpusa.dynip.com
_|_Eat_SPAM_to_email_me!_YUM!__|_ wkitty42 -at- windstream.net


---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 090118-0, 01/18/2009
Tested on: 1/19/09 02:33:01
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com



___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] is it me or a bug that i ve been fighting?

2009-01-18 Thread waldo kitty
Martin Friebe wrote:
 Or try to compile not as a windows app (switch off -WG) then you get a 
 console window, and a lot of output.
 (Both options are in Project-compiler options-tab: linking)

now i've done this and i still got the GUI window of my app which allowed me to 
click the [connect] so that i could run this in the same way as i have been 
doing... i did get a msdos window but there was no output in it at all... i 
still also got that assembler window and every time it has come up, the 
starting 
address has been the same but the other numbers under it have been different...

now what? :?

-- 
NOTE: NEW EMAIL ADDRESS!!

_\/
   (@@)  Waldo Kitty, Waldo's Place USA
__ooO_( )_Ooo_ telnet://bbs.wpusa.dynip.com
_|_|_|_|_|_|_ http://www.wpusa.dynip.com
|_|_|_|_|_| ftp://ftp.wpusa.dynip.com
_|_Eat_SPAM_to_email_me!_YUM!__|_ wkitty42 -at- windstream.net


---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 090118-0, 01/18/2009
Tested on: 1/19/09 02:51:09
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com



___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus