|
I have created a .net classlibrary which i am going to use it in vb6.
For this i have exposed the class through interfaces.
I created the .tlb file using regasm and then placed the dll in the gac
Then I refered the .net tlb in the vb6 project
VB6 is showuing the interface and the class i created in the .net.
When i created the object of the class and tried to call the function, the function is not showing in the intellisense
and when i tried to execute the function it failed to execute it.
The function is showing in the object browser.
The function declared in .net is public.
I think this is the correct way of exposing .net dll to vb6
or
am i doing it wrong.
Tell me this is urgent.
|
|
|
|
|
because your .NET library is compiled as MSIL, while VS6 doesn't...
you cannot do that
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
|
Ok, lets say I create a new form. In that form I put in textbox called 'txtBox1'. Now what I wanna do is, I want to limit the characters that I can key into 'txtbox1' to numbers and the backspace key. So this is the code I use.
Private Sub mskDateEntry_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles mskDateEntry.KeyPress
Dim CharAllow as String = "1234567890"
if instr(CharAllow,e.keychar.tostring) = 0 then
e.handled = true
End if
End Sub
Okay, this works fine in only allowing me to key in numbers and nothing else. But it also prevents me from using the backspace key to 'backspace errors'. Anyone have any idea to my situation? Thanz..
|
|
|
|
|
Instead do this
e.handled = not (char.IsNumber(e.keychar) or char.IsControl(e.keychar) or e.keychar == ' ')
My VB is non-existant, the syntax may be wrong, but char has static methods to check if a character belongs to a group, and one of those groups is control characters.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Before I go on, I would like to thank Christian for being such a good samaritan (I think that is how you spell it). The world could definitely use more ppl like you... Thanz a real big bunch man.. I am gonna try ur codes and see whether it suits my purpose or not... thanz man...
|
|
|
|
|
Alrite man, ur method is a life Saver. Dude, I offer u my respect... U r the Man....
|
|
|
|
|
*grin* Glad to help. after your initial kind comments, I was worried you'd try it and it wouldn't work....
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
btw, why is there a 'not' in
e.handled = 'not' char.isnumber(e.keychar)
doesn't char.isnumber(e.keychar) referring to numbers in general.. if So, why does e.handled = 'not' of it..
|
|
|
|
|
if it is a number, a space or a control character, you want the base class to handle the keypress (i.e. you want it to occur ). So, you set handled to false if it's a key you want, or true if you want to swallow the keypress, the base class sees you've handled the key press and so ignores it.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Keys.Back = the backspace key.
Select case e.keychar
Case Keys.Back
Case Keys.D1
Case Keys.D2
End select
Hope it helps..
|
|
|
|
|
Hmm, another something to test out... Thanz man....BTW, whats keys.d1?
|
|
|
|
|
|
Man, I really learn a thing or two from KaptinKrunch and Christian... Respect to you both, Dudes.... RESPECT...
|
|
|
|
|
The Keys enumeration is more helpful if you handle KeyDown or KeyUp ( which recieves an instance of this enum, but won't let you swallow a keypress as you want ). The keypress event gets a char. Also, using the char.IsControl method covers all control keys for free, it's much more elegant code than a big old switch statement, although the switch statement gives you more control if you need it.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Do you have a working example of that somewhere?
All I need is a simple textbox that limits its value to numeric (limiting the lenght and the number of decimals)
Ie it should accept two decimals only after the decimal point ie 0.12 and not 0.123
and also the maxlentgth is 9 then
999999.99 only
kanagaraj kumar
|
|
|
|
|
hmm. the only thing I figured out with the help of some good guys is to limit the keypress to numerical values and not the decimal values. Try opening a new thread and ask.. Sorry I ain't much of a help here, fresh beginner myself...But dun worry, the guys in here is cool and helpful, dun be shy or afraid to ask... hehehe..
|
|
|
|
|
Public Function AcceptNumeric(ByRef TextBox1 As TextBox, ByVal decLength As Integer, ByVal eKeyChar As Char) As Boolean
Dim dotIndex As Integer
Dim decPlace As Integer
Dim eHandled As Boolean
decPlace = TextBox1.MaxLength - decLength - 1
dotIndex = TextBox1.Text.IndexOf(".")
If (eKeyChar < "0" Or eKeyChar > "9") Or eKeyChar = "." Or Asc(eKeyChar) = &H8 Then
If eKeyChar = "." Then
If dotIndex > 0 Then
eHandled = True
Else
eHandled = False
End If
Else
If Asc(eKeyChar) = &H8 Then
eHandled = False
Else
eHandled = True
End If
End If
AcceptNumeric = eHandled
Exit Function
Else
If TextBox1.Text.Length = decPlace Then
If dotIndex < 0 And eKeyChar <> "." Then
TextBox1.Text = TextBox1.Text + "."
TextBox1.SelectionStart = decPlace + 1
AcceptNumeric = eHandled
Exit Function
End If
End If
If TextBox1.Text.Substring(dotIndex + 1).Length = decLength And dotIndex >= 0 Then
eHandled = True
End If
End If
AcceptNumeric = eHandled
End Function
*** Assign the MaxLength Property of the TextBox.
kanagaraj kumar
|
|
|
|
|
How can I open a new IE browser without overwriting one that is already open?
Thanks,
Martin
|
|
|
|
|
Hey there,
I have an application (which had been written in VB) which lists the following menu options "File" " View" "Help" etc. And ofcourse within each of these is a further list of options. I want to write my application which will automatically nagivate through the menu of this other application ... As an example...suppose I want to go to View->Text Size -> Normal, I can do so through my application at the click of a button.
Is anyone aware of the kind of messages I could send or provide an example of any such code you may have.
Regards,
Abhishek
|
|
|
|
|
For example, a textbox 'texbbox1' has been placed in a form. in the following code:
Dim str as String
str = "textbox1"
....
how to access textbox1 through variable "str" ?
Thanks a lot!
|
|
|
|
|
Hello,
To get the text from a textbox and set it to your string variable, you could use:
str = TextBox.Text
Or
Dim str as String = TextBox.Text
To set a TextBox's text from a variable, you would use:
TextBox.Text = str
I hope this helps,
Mitch
My sig:
"And it is a professional faux pas to pay someone else to destroy your computer when you are perfectly capable of destroying it yourself." - Roger Wright
Get Perpendicular! (Hitachi Storage)
My CodeProject Blog
Most recent blog post: April 11
|
|
|
|
|
Was the textbox put on the form at runtime or designtime. if it was as designtime then use the control name and not the variable to access it.
Otherwise, I would put a form level variable of type textbox to hold it. If there are going to be alot of runtime controls added, make an arraylist and add them to that.
However, the only way I know of to get the control in this case is:
Dim tb as TextBox<br />
For Each tb in me.Controls<br />
If tb.Name=str Then<br />
exit For<br />
End If<br />
Next
tb should be the TextBox you want.
|
|
|
|
|
I would like to read in the contents of a text file and split each line into and array.
fileContents.Split([what goes here?])
This is similar to what Dave helped me with yesterday but I just can’t figure out how to split at the end of each line.
Also, (hope this isn’t s stupid question) where do I go do see all of the possible actions that I can take with Split or any other function?
Thanks
Brad
|
|
|
|
|
fileContents is a String, so you would want the documentation on all the methods that a String has. Here[^] on MSDN.
As for your split statement, try:
Dim contentArray() As String = fineContents.Split(Environment.NewLine)
or
Dim contentArray() As String = fineContents.Split(ControlChars.Cr)
or
Dim contentArray() As String = fineContents.Split(ControlChars.Lf)
... depending on your text file format.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|