xsharp.eu • BindEvent() And other
Page 1 of 2

BindEvent() And other

Posted: Sat May 30, 2020 11:16 am
by xinjie
Hi,

I'm from China.I have been following X# for a long time.Thank you very much for the excellent work of the development team.

I have two questions:

1 BindEvent() Func.
I noticed the description in the X # help file,It's "Note: This API is now obsolete." WHY?
This function and several other related functions are very widely used. Is there any solution to this problem if I go from VFP to X #?

2 XSharp Open Software License
I noticed a description in it:i. modify or translate the Software;
According to the source code of X #, does translating the GUI into other languages(e.g. Chinese) violate the license ?


My English is poor. I am sorry if you have caused an ambiguity in understanding.

Thanks again and tribute.

BindEvent() And other

Posted: Sat May 30, 2020 11:46 am
by robert
xinjie,

The BindEvent function is a runtime function that allows you to bind a function (method) to an event.
In X# we do that at compile time, just like in C# and VB. For example for a Form object you can bind an event with the += syntax:

Code: Select all

oForm:Loaded += Form_Loaded
The Form_Loaded method must have the right parameters (the compiler will check this)

And to remove an event handler you write the same code with the "-=" syntax,
In theory you can also do this in code (and we could therefore implement the BindEvents() function) but that is simply not the right solution.

With regard to your other question: we would love to see support for Chinese in our product.
What exactly do you want to translate: the messages in the runtime or do you want to translate our VS integration (editor support etc).
Maybe you can send me a private email to we can discuss this ?

Robert

BindEvent() And other

Posted: Sat May 30, 2020 12:04 pm
by xinjie
Robert,

Thank you for your quick reply.

I think your understanding of the first question is wrong. When I use X# to develop an application from 0, I certainly have to follow the rules of X#. However, if I want to convert my existing VFP application to X #, I want to know how you and your team will handle this function.

About "other", I will send you an email after careful consideration.

BindEvent() And other

Posted: Sat May 30, 2020 1:21 pm
by robert
xinjie,

We are writing a tool to convert FoxPro code (forms, class libraries, reports) to X#. Most likely we will convert this in the tool from the VFP syntax to the .Net syntax.

Robert

BindEvent() And other

Posted: Mon Jun 01, 2020 10:55 pm
by FoxProMatt
@ xinjie

Actually your English is pretty good.

I’m hoping your “other” email that you’ll send Robert after careful consideration is some good news like “I have access to many sponsorship dollars USD and will contribute heavily to X# Dev Team’s rapid completion of FoxPro implementation.”

Oh, well, we can dream, right.

(That’s some goofy American humor, so don’t take it seriously. Unless it’s true of course... Oh, rats, I did it again. )

On a serious note, welcome to X# FoxPro Forums. We look to seeing you around.

BindEvent() And other

Posted: Tue Jun 02, 2020 2:01 pm
by kevclark64
So, if I were creating an object in code and wanted to bind an event, then I would do something like this?

Code: Select all

objNewButton=createobject("commandbutton")
objNewButton.click += myClickCode

BindEvent() And other

Posted: Tue Jun 02, 2020 6:21 pm
by robert
Kevin,
Yes that would work if objNewButton is typed as CommandButton and if there is a click event defined on that class.

Robert

BindEvent() And other

Posted: Mon Jun 08, 2020 1:32 pm
by Jörg
Hi!
Bud in VFP the Bindevent() has a 5th Parameter in which you can determine how it should behave (from help):
nFlags Specifies an additive bit flag you can set for the event binding operation.
The nFlags parameter is ignored when a Windows message event binding is created.
nFlags Bits Event Type Description
0 000 FoxPro object Call delegate code before event code. (Default)
1 001 FoxPro object Call event code before delegate code.
2 010 FoxPro object Do not trigger event (call delegate code) by simple method call.
3 011 FoxPro object Call event code before delegate code. Do not trigger event (call delegate code) when simple method calls occur.
4 100 Windows Message Prevents recursion of similar events while user event code is executing.
..

How can I set this by the += opperation?

BindEvent() And other

Posted: Mon Jun 08, 2020 6:16 pm
by robert
Jörg,
I don't think this is possible in .Net.
Every event runs "on its own".
Can you explain how you are using this ?
Robert

BindEvent() And other

Posted: Fri Jun 12, 2020 8:28 am
by Jörg
Hi Robert!

In VFP you can determine if a Binding is "fired" before or after en Event.
E.g. say you have a Save() Method. By Binding to the save() Method before, you can do some things before saving the Record (Change some Values).
And after Saving you can refresh a special Element in the Form.
In Our VFP Programm you can configure many, say nearly every Element of the gui by Database Entrys. So some Objects have to bind on base functions for working as expected.
Jörg