Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VFP9 gripes

7 views
Skip to first unread message

Giancarlo Piccinato

unread,
Jan 9, 2006, 9:50:44 AM1/9/06
to
Since SP1 was released I started working more seriously with VFP9. I must
tell you I was eager to deploy some of the new features that came with VFP9,
especially the new report rendering. Now, I'm a little disappointed. I'm
having problems with some listboxes in pageframes: the click event won't
fire unless I click, hold the mouse button down while moving the mouse
pointer. Like I said, it doesn't happen in all situations. The applications
were ported from VFP8 and worked fine. I googled the newsgroups and found a
thread where some workarounds were suggested but one didn't work (making an
API call to refresh the window) and the other was ridiculous to say the
least (setting BITMAP=OFF in the config.fpw of a desktop application is).
Furthermore, I noticed that VFP9 performs 10 to 20% slower than VFP8 and
that the new report rendering takes a lot of time compared to the old one
but I guess I'll have to live with that.
Has anyone else run into similar problems? Any suggestions?

Thanks,

Giancarlo


Fred Taylor

unread,
Jan 9, 2006, 10:23:02 AM1/9/06
to
I've hear that if you put a this.enabled in the ListBox.Init, that will
work. I've not been able to reproduce the problem with my code, so I can't
test it. Got a simple sample that shows the problem?

--
Fred
Microsoft Visual FoxPro MVP


"Giancarlo Piccinato" <picc...@hotmail.com> wrote in message
news:eMdzUxSF...@TK2MSFTNGP12.phx.gbl...

Giancarlo Piccinato

unread,
Jan 9, 2006, 11:22:10 AM1/9/06
to
"Fred Taylor" <fta...@mvps.org!REMOVE> wrote in message
news:eZbwTCTF...@TK2MSFTNGP11.phx.gbl...

> I've hear that if you put a this.enabled in the ListBox.Init, that will
> work.

Didn't work.

> Got a simple sample that shows the problem?

Unfortunately no. It doesn't happen all the time. I've tried to reproduce
the problem using base classes but had no luck so far. It's got to be
something stupid, though.

Thank you,

Giancarlo


Fred Taylor

unread,
Jan 9, 2006, 9:21:14 PM1/9/06
to
Here's something on the UT I found:

* start with making all the ListBoxes invisible:

thisform.ListBox.Visible = .F.

* set on these listbox
* ListBox.UiEnabled
LPARAMETERS lEnable
this.Visible = m.lEnable


Does that work any better? I thought it was the .Enabled property, but it
appears to be the .Visible property that needs the encouragement of an extra
push.

--
Fred
Microsoft Visual FoxPro MVP


"Giancarlo Piccinato" <picc...@hotmail.com> wrote in message

news:e2v7IkT...@TK2MSFTNGP12.phx.gbl...

Giancarlo Piccinato

unread,
Jan 10, 2006, 8:29:09 AM1/10/06
to
> Does that work any better?

I'm afraid not. I'll try harder to make the error repoducible and maybe in
the process I'll find out what the problem is. If I do, I'll report back.

Thank you Fred,

Giancarlo

Fred Taylor

unread,
Jan 12, 2006, 3:37:34 AM1/12/06
to
Yes it's a bug. But I've got two work arounds for you now that I've
actually gotten to see it.

If your listboxes on the pages overlap each other, the problem occurs. If
they don't overlap, no problem. I moved the listbox on each page to be
under it's page tab and it worked fine.

But since you probably can't do that, then this should work for you:

In the PageFrame.Init:

LOCAL OrigLS, x
m.OrigLS = thisform.LockScreen
thisform.LockScreen = .t.
FOR m.x=this.PageCount TO 1 STEP -1
this.ActivePage=m.x
ENDFOR
thisform.LockScreen = m.OrigLS

Programmatically running through all the pages as active seems to work.
The LockScreen code should prevent any flashing caused by running through
all the pages.

--
Fred
Microsoft Visual FoxPro MVP


"Giancarlo Piccinato" <picc...@hotmail.com> wrote in message

news:O7rW4Su...@TK2MSFTNGP15.phx.gbl...
>I think I've finally figured this out. Build and run the project in the
> attachment to reproduce the problem.
> In the init event of the pageframe I'm adding a line object (check the
> class
> library included in the project) with the visible property set to false.
> You shouldn't be able to select any item form the listbox unless you click
> &
> drag over one of them.
> Once you've gone through all the pages of the pageframe everything works
> fine again.
> Now, if you set the visible property of the line object to true and
> recompile, the problem disappears.
>
> Can you confirm this? Shouldn't this be considered a bug?
>
> Thanks in advance for your time.
>
> Giancarlo


>
>
> "Fred Taylor" <fta...@mvps.org!REMOVE> wrote in message
> news:eZbwTCTF...@TK2MSFTNGP11.phx.gbl...

Giancarlo Piccinato

unread,
Jan 12, 2006, 9:30:17 AM1/12/06
to
> If your listboxes on the pages overlap each other, the problem occurs. If
> they don't overlap, no problem. I moved the listbox on each page to be
> under it's page tab and it worked fine.

I noticed that too. That's why it only happened sometimes.

> Programmatically running through all the pages as active seems to work.
> The LockScreen code should prevent any flashing caused by running through
> all the pages.

Mmmh... I mostly use the listbox/pageframe combination in some sort of a
report wizard, which means that there could be several pages involved in the
process and sometimes I instantiate the page content on activation to
improve the user perception of application performance. Were I to follow
your suggestion, I'd lose that. I think I'll go with the visible property
set to true. I'll report the bug anyway.

Thank you very much Fred.

Giancarlo


0 new messages