Bug 60636 - Setting value in Base Form from Basic doesn't work
Summary: Setting value in Base Form from Basic doesn't work
Status: RESOLVED NOTABUG
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
Version:
(earliest affected)
4.0.0.3 release
Hardware: x86-64 (AMD64) Linux (All)
: low minor
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-11 09:00 UTC by tim
Modified: 2013-02-12 20:25 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tim 2013-02-11 09:00:26 UTC
I have a significant amount of BASIC code that sets values in bound and unbound fields in Forms in BASE.  This has worked in all previous versions of LibreOffice.

In 4.0.0.3 the code does not work.  I get no error, but the value does not get set and does not show in the Forms.

Because I need this code to work I have had to revert to 3.6.5.  I have not been able to analyse the cause of the error, nor found any work-around.
Comment 1 Alex Thurgood 2013-02-11 10:50:15 UTC
Hi Tim,

Please provide us with a minimum ODB file (including the macros which are now problematic) in order to be able to reproduce the problem, otherwise, it is too vague to know which methods are being called where and when and on which objects, making it impossible for the bug triagers to have a look.


Alex
Comment 2 tim 2013-02-11 11:08:22 UTC
I wish I could supply working odbs that are having the problems, but it's not possible.  

Firstly, I am using Mysql (JDBC), so can't supply a working database easily.

Secondly I am using a Macro set called Access2Base to manipulate the database and forms.  This makes it easy for people like me who have used MS Access a lot but cannot get to grips with the enormous UNO framework.  I have already alerted the author of Access2Base, to see if he knows anything about it.  As I understand it this toolkit uses the standard framework, but hides it from simpletons like me.

Thirdly, I will see if I can create a separate stand-alone odb that doesn't use Access2Base, but that will take me quite a while to do since I don't currently know how to do that.  I'm hoping I have some other sample databases that may help get me started.

Fourthly, I don't have LO 4 installed now, since the problem made my standard applications unusable.  To test it I'll have to try to install LO 4 on another PC, but that will be a different environment.

I was hoping that the error was so blatant that it would show up quickly in standard test systems that developers might have.

Apologies for seeming to be difficult - I will try to help, but it won't be easy.
Comment 3 tim 2013-02-11 13:14:23 UTC
I can confirm that in a very trivial form using standard UNO Basic, not Access2base, with the embedded HSQL database, setting the Text attribute on a control in a form does work.

The cause of the problem that I have encountered must therefore be more complex.

I will liaise further with the Access2Base author to see if I can get any further on that front, and report back.  In the mean time the priority of this report is clearly low.
Comment 4 tim 2013-02-12 20:25:18 UTC
I am closing this report.  The fault lies with the BASIC object model as used by Access2Base.  When I set a value in a field on a form the code that should be invoked when the 'Property' of the Control object is not being invoked.

As yet I have not determined whether this is a fault in BASIC LO 4.0 or Access2Base (the author of the latter has been informed).

If I find that it may be a generic problem with BASIC I will raise a separate fault report.