|
Well,thanks to everyone.Though I still can't solve this problem,I have learned a lot!
|
|
|
|
|
Let's say I create an object of one of my Forms in Class1
Dim _Form as new Form = pForm
And I know for a fact that the form will contain a method (sub) say..
Public Sub DeleteApproved(pObj as object) Implements IDataForm.DeleteApproved
' Do stuff here
End Sub
To ensure that this method is always there, I Impliment a custom interface IDataForm
How do I call this method from Class1?
This doesn't work:
_Form.DeleteApproved(pObj)
Regards!
modified on Friday, December 5, 2008 7:00 AM
|
|
|
|
|
It doesn't work because the variable you declared is of the type Form (wich doesn't contain that methode)
Declare the variable as a variable of the type of pForm and you should be able to access it
So something like:
'lets say pForm is a form of the type Form1
Dim _Form as new Form1 = pForm
_Form.DeleteApproved(pObj)
A little warning here if you try to assign a other type (like Form2) to the variable _Form you'll get an error.
If you have multiple forms that need this (Form1, Form2, Form3, ...) a possible way to do this would be to make all those forms inherit from a specific form (InheritForm), declare the methode there (overridable or mustoverride) and make _Form from the type InheritForm. Then in all the other forms just override the methode.
Hope this is a bit clear if not feel free to ask more
|
|
|
|
|
Hi again Tom, and thank you!
Tom Deketelaere wrote: If you have multiple forms that need this (Form1, Form2, Form3, ...) a possible way to do this would be to make all those forms inherit from a specific form (InheritForm), declare the methode there (overridable or mustoverride) and make _Form from the type InheritForm. Then in all the other forms just override the methode.
This was the next thing I was about to try, the problem is that depending on which form it is, I want different code to execute within the method.
In form1 I want to call an update service over WCF to say... delete a row from the DataSource that populates my DataGridView on form1.
etc.
etc.
|
|
|
|
|
First you might want to look into Luc's solution, could be the answer for you.
If not you can do what you want with intheritance.
Example:
Form1 is the form where all other forms will inherit from
declare the function on this form like:
public overridable function FunctionName (...) as ...
end function
Form2, Form3, ... all inherit from this Form1
here you place:
public overrides function FunctionName(...) as ...
end function
Now when you call the function from your class the code within the functions on Form2, Form3, ... will be excecuted, this code can be completly differant for every form.
On a side note if you place the following in the functions on Form2,Form3,...:
mybase.Functionname(...)
The code in the function on Form1 will also be excecuted otherwise not.
|
|
|
|
|
One of these days, Tom, I'm going fly over to Belgium and treat you to steak and a case of larger!!
|
|
|
|
|
evilnoodle wrote: One of these days, Tom, I'm going fly over to Belgium and treat you to steak and a case of larger!!
Any time you want I always have time for a good steak and a case of larger
|
|
|
|
|
Hi,
the purpose of an interface *is* to call its members, not just to declare them, so try something like:
Dim _Form as new IDataForm.DeleteApproved = pForm
_Form.DeleteApproved(pObj)
modified on Friday, December 5, 2008 11:05 AM
|
|
|
|
|
Luc Pattyn wrote: Dim _Form as new IDataForm.DeleteApproved = pForm_Form.DeleteApproved(pObj)
This doesn't look right. Isn't it supposed to be:
Dim _Form As IDataForm = pForm
_Form.DeleteApproved(pObj)
|
|
|
|
|
Hi Dave,
of course. I did copy/paste too much, trying to get it sufficiently verbose to
get it VB-like.
|
|
|
|
|
We all have those days where nothing goes right. I just have more of them than most people.
|
|
|
|
|
Hi,
Just a small qustion how many triggers we can have on one Table(or Entity or Object).
Thanks,
Aleem Mohammad.
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
u can have many number of triggers in a table but the COMBINATIONS U
CAN MAKE can be 12 only
|
|
|
|
|
Means I didnt get your point pls, many number of triggers on one table. What is meant by this combination.
Is it like Insert - Instead of and After
Delete - Instead of and After
Update - Instead of and After. Do you mean this.
Then how can I have more than 6 combinations on one table?
Can you pls. explain me little much more detail.
Thanks,
Aleem Mohammad.
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
Hey Aleem,
I'm not sure what your design specifications and intentions are on this project, but you should try and avoid excessive use of triggers. If you need to perform a bunch of actions before and after inserts (whether it is inserts into other tables, data checks, jobs, etc), you should probably use a stored procedure.
Depending on how you want these actions to occur, you can have transactional logic so that all the changes occur or nothing gets committed. Just from reading your question, I would go this way instead of using multiple triggers.....which could drastically slow down performance - esp. if you start doing this with multiple tables.
Any suggestions, ideas, or 'constructive criticism' are always welcome.
"There's no such thing as a stupid question, only stupid people." - Mr. Garrison
|
|
|
|
|
Triggers (and cursors) are evil. I avoid both wherever possible.
Why don't you TEST something, stick as many triggers on a field as you can and see if it breaks. Then throw the bloody lot out and design your database with some intelligence!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
LOL - well said.
Any suggestions, ideas, or 'constructive criticism' are always welcome.
"There's no such thing as a stupid question, only stupid people." - Mr. Garrison
|
|
|
|
|
I was wondering if there is an easy way to save the properties of the objects such as Checkboxes, Textboxes, comboboxes, etc. in VB.NET that doesn't use the registry. I am looking for a way to write it to a file, then on load read from that file and change the settings back to what they were when it was saved. I have been searching for quite a while how to do this, but to no avail. I was originally thinking that I could write the information to a text file then set the information in that text file to a string and run that string as code however, I couldn't find a way to get the string to run as executable code. If you have any ideas for either of these please tell me. Thanks.
modified 8-Sep-21 21:01pm.
|
|
|
|
|
Running a string as code is both easy, widely documented, and a terrible way to do what you're after.
One possible way is to use reflection to get the properties of each control and store them, then use reflection to set the same properties on the same named controls. An easier way that needs more work as your form changes, is to store specific properties in a format you define and read those to place them back on the controls.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
|
I use XML to do the form state/size[^]. No reason why you can't use it for controls.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
You can use Application Settings to save properties of the objects like Textbox.Text or any other...
|
|
|
|
|
Dear all,
I have a simple program that user can insert unicode or ascii text in a textbox. How to tell it is a Unicode or ascii? Is there any function in .Net?
Thanks.
ma tju
Pengaturcara Perisian
Subang Jaya,Selangor, Malaysia
Ring Master SB MVP 2008
Subang Jaya MOP (Otai)
|
|
|
|
|
All strings in .NET are unicode.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
I have a simple for each loop that goes through my entire collection, performs tasks and then continues, simple enough right? Th ehwole point of my collection is it traps all changes made so a person can undo them, each collection is a series of changes. The problem is I have to undo them in the order which they where done, and my collection goes from the first entered in the collection to the last, I want to do it the other way around.
Do I have to resort my collection? If so there is no index its just a collection of objects, I was thinking a for loop using count going to 0, but I wasn't sure if that would work considering my collection is of objects and not basic data types like strings or ints.
Any articles, suggestions welcomed. Thanks in advance for the read.
|
|
|
|