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

Martin Friebe lazarus at mfriebe.de
Mon Jan 19 02:02:38 CET 2009


Hi,

let me start with "No I have not executed the demo code";

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)?

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).
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)

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


Good Luck

waldo kitty wrote:
> 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 <wkitty42 at windstream.net 
>> <mailto:wkitty42 at 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
>>     playing with
>>     it and it was also in the plain FPC 2.2.2 installation i have/had on
>>     here before
>>     i figured out that Laz came with FPC in its tree...
>>
>>     for those who want/need a link to example code that exhibits this
>>     problem, i'm
>>     using the downloaded code "TryMySQL5 Modified by Arwen" but i can't
>>     find the
>>     link in the wiki now :( in any case, this is the TryMySQL5 demo app
>>     with the
>>     fields for the server, username, and password rather than them being
>>     hardcoded... once you fill them in, then you click the [Connect]
>>     button to
>>     connect to the server and get a list of available databases... now
>>     you choose a
>>     database from the combo box and then click the [Select Database]
>>     button... it is
>>     at this point that the error is thrown when the connection is closed and
>>     reopened so the new database can be used...
>>
>>
>>     FWIW:
>>     here's the memo field "log" with the error point marked with '>>'
>>     and yes, i've
>>     slightly modified the "logging" to try to figure out where the error
>>     is taking
>>     place and every time the last line logged before the popup box
>>     appears is the
>>     one right above the mysql50connection.close line...
>>
>>       14:26:18: Opening a connection to server: ender
>>       14:26:19: Connected to server: ender
>>       14:26:19: Retreiving list of available databases.
>>       14:26:19: Query ACTIVE and at the first record
>>       14:26:19: List of databases received!
>>      >>14:26:26: Closing connection
>>       14:26:33: Closing connection
>>       14:26:33: Connection closed...
>>       14:26:33: DatabaseComboBox.ItemIndex: 2
>>       14:26:33: DatabaseComboBox.Items[ItemIndex]: kims
>>       14:26:33: setting SQL statement...
>>       14:26:33: Retrieving list of tables
>>       14:26:33: opening sql query...
>>       14:26:34: List of tables received
>>
>>     so, at 14:26:26, i clicked the [Select Database] button and then
>>     clicked the
>>     [OK] button in the error box and then i clicked on the [Select
>>     Database] button
>>     again (14:26:33)...
>>
>>     so, there it is with all my wordiness and verbiage... oh, and the
>>     hidden subtle
>>     "am i linked?" test message ;)
>>
>>     so, is it me or is it a bug in the library? if the library, which
>>     library? Laz
>>     stuff or FPC stuff?
>>
>>     --
>>     NOTE: NEW EMAIL ADDRESS!!
>>
>>            _\/
>>           (@@)                      Waldo Kitty, Waldo's Place USA
>>     __ooO_( )_Ooo_____________________ telnet://bbs.wpusa.dynip.com
>>     <http://bbs.wpusa.dynip.com>
>>     _|_____|_____|_____|_____|_____|_____ http://www.wpusa.dynip.com
>>     ____|_____|_____|_____|_____|_____|____ ftp://ftp.wpusa.dynip.com
>>     _|_Eat_SPAM_to_email_me!_YUM!__|_____ wkitty42 -at- windstream.net
>>     <http://windstream.net>
>>
>>
>>     ---
>>     avast! Antivirus: Outbound message clean.
>>     Virus Database (VPS): 090117-0, 01/17/2009
>>     Tested on: 1/18/09 14:39:07
>>     avast! - copyright (c) 1988-2009 ALWIL Software.
>>     http://www.avast.com
>>
>>
>>
>>     _______________________________________________
>>     Lazarus mailing list
>>     Lazarus at lazarus.freepascal.org <mailto:Lazarus at lazarus.freepascal.org>
>>     http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
>>
>>
>>
>>
>> -- 
>> o__
>> ,_.>/ _
>> (_)_\(_)_______
>> ...speed is good
>> _______________
>> I believe five out of four people have a problem with fractions.
>>     
>
>
>   



More information about the Lazarus mailing list