|
Hi,
I want to raise an event in ActiveX DLL and want to trap that event in a exe. This exe is calling that ActiveX DLL.
I am successful able to raise an event in ActiveX DLL but its not firing that event in Exe.
Kindly tell me why it is not working, or am I doing something wrong?
Any help will be highly appericiated.
Here is the code for my Project:
ActiveX DLL Name: CalledDLL(classes: CNotify,MyDLL. Form: FrmFromDLL.frm(form Has button: Lauch EXE's TestForm)
Exe Name : CallingEXE(FrmMain.frm,TestForm)
***EXE***
Form frmMain
--------------------------------------------
Private WithEvents objNotify As CalledDLL.CNotify
Private Sub cmdDLL_Click()
Dim objMyDLL As New CalledDLL.MyDLL
objMyDLL.ShowDLLForm
End Sub
Private Sub Form_Load()
Set objNotify = New CalledDLL.CNotify
End Sub
Public Sub objNotify_Notify(sMsg As String)
MsgBox sMsg
End Sub
***ActiveX DLL***
cNotify
--------------------------------------------
Option Explicit
Public Event Notify(ByRef Source As String)
Public Sub CallNotify(Source As String)
RaiseEvent Notify(Source)
End Sub
MyDLL
--------------------------------------------
Public Event MyEvent()
Private m_Client As New CNotify
Public Sub ShowDLLForm()
frmFormDLL.Show
End Sub
Public Sub TestCallback()
' Something that requires an "event"
If Not (m_Client Is Nothing) Then
m_Client.CallNotify ("fee")
Else
RaiseEvent MyEvent
End If
End Sub
frmFormDLL
--------------------------------------------
Public Event Notify(ByRef Source As String)
Private Sub cmdTest_Click()
CallNotify ("Test")
End Sub
Private Sub Form_Load()
'Set objNotify = New CNotify
End Sub
Public Sub CallNotify(Source As String)
RaiseEvent Notify(Source)
End Sub
SyedN
pahmn
|
|
|
|
|
Step through the code line by line and you'll probably find that you never fire the event your subscribing to.
ALl you do is show a form, but nowhere does your code call RaiseEvent in the line of execution showing that form.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Hi there !
I'm new to VB .NET and here's my problem : I'm working on a small othello game. I've got a 8x8 array of PictureBoxes, representing each of the board's boxes.
[code]class OthelloForm
Private grid(8 ,8 ) As System.Windows.Forms.PictureBox[/code]
... and in my class constructor, I put the following :
[code]grid = {{pictureBox1,pictureBox2,pictureBox3,pictureBox4, _
pictureBox5,pictureBox6,pictureBox7,pictureBox8}, _
{pictureBox9,pictureBox10,pictureBox11,pictureBox12, _
pictureBox13,pictureBox14,pictureBox15,pictureBox16}, _
{pictureBox17,pictureBox18,pictureBox19,pictureBox20, _
pictureBox21,pictureBox22,pictureBox23,pictureBox24}, _
{pictureBox25,pictureBox26,pictureBox27,pictureBox28, _
pictureBox29,pictureBox30,pictureBox31,pictureBox32}, _
{pictureBox33,pictureBox34,pictureBox35,pictureBox36, _
pictureBox37,pictureBox38,pictureBox39,pictureBox40}, _
{pictureBox41,pictureBox42,pictureBox43,pictureBox44, _
pictureBox45,pictureBox46,pictureBox47,pictureBox48}, _
{pictureBox49,pictureBox50,pictureBox51,pictureBox52, _
pictureBox53,pictureBox54,pictureBox55,pictureBox56}, _
{pictureBox57,pictureBox58,pictureBox59,pictureBox60, _
pictureBox61,pictureBox62,pictureBox63,pictureBox64}}[/code]
Yes, I'm aware it's ugly, I'll probably go for a more elegant solution sooner or later (SharpDevelop names each new PictureBox "pictureBoxN", heh) but this last code block comes back at me with an "Expression expected.(BC30201)" error. Which isn't that bad considering I had an error for each line, previously, because I needed a whitespace between each comma and underscore. Oh well.
So what's wrong exactly here ? Thanks for the help.
|
|
|
|
|
First let me tell you that there is a mistake in your array declaration of grid(8, 8) . This is really creating an array of 9x9 elements. Why? Because the (8, 8) specifies the upper index bound (ie: max index is 8) for a zero based array. That means your array is indexable between 0...8, for a total of 9 elements.
You should change it to grid(7, 7) .
Now on to your current issue...
You could initialize your array like this...
grid(0,0) = pictureBox1
grid(0,1) = pictureBox2
grid(0,2) = pictureBox3
' Etc...
An even better approach would be to create the PictureBox controls on Form Load and then add them to your array and Form's Control collection. This would be much cleaner.
Dim column As Integer
Dim row As Integer
For row = 0 To 7 Step 1
For column = 0 To 7 Step 1
nextPictureBox = New PictureBox
<code>' Initialize PictureBox here.</code>
Me.Controls.Add(nextPictureBox)
grid(row, column) = nextPictureBox
Next
Next
|
|
|
|
|
This makes much more and sense and it's a heck of a lot cleaner. Thanks a bunch !
|
|
|
|
|
Please give me tutorials or books's title to learn designing windows form like nero software or other softwares... that have nice screen forms.
Thanks a lot
|
|
|
|
|
There's no book to explain this step-by-step. Good UI design comes from a well thought out data model and knowing what your going to do with the application inside and out. All the pretty pictures come from a Graphic Arts background, and there's really not a single book on that either.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
You could tell me ways to change default windows form to image form like nero software - a software to burn disc
Thanks a lot
|
|
|
|
|
You assume too much. Like I said, this is not the work of a single person and there is no one technique that will do everything for you. This requires FAR more explanation that any single article will tell you about. A LOT of research goes into a UI like that, especially into your own application's requirements...
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
how can i get value callerid by serialport
123
|
|
|
|
|
Follow up on the replies you already got instead of posting the question again.
---
b { font-weight: normal; }
|
|
|
|
|
And no-one is going to write the code for you. Even more so than normal because no-one knows what kind of device you have to get the caller ID information, nor any of the required details on it.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
i'm making this small windows application in VB.net and it requires for Alt-F4, Alt-Tab, Ctrl+alt+del and the windows keys to be disalbed ive disabled alt-f4, with the e.cancle = true but is there a way to disable the others....
Thanks in advance.
|
|
|
|
|
|
i need to create button on vb.net form which browse the c drive then choose file(includes phone numbers 1 column) with txt extension then i need to send all data(print the phone numbers)from notepad to listview located in vb form called listview1 .
kilany
|
|
|
|
|
|
Why do you want to involve notepad at all? Why not just read from the file?
---
b { font-weight: normal; }
|
|
|
|
|
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Try
Dim cone As New Conection
Dim ii As Integer = ds.Tables(0).Rows(ComboBox1.SelectedIndex).Item(0)
Dim sh As String = cone.get_Special_data("select Switch_Access_Code from Swiches where Swich_ID=" & ii & "")
b2 = ""
b2 = sh
Me.WindowState = FormWindowState.Minimized
System.Windows.Forms.SendKeys.SendWait(b2)//b2="2494:" come from //database on sql server
Me.WindowState = FormWindowState.Normal
b2 = ""
Catch ex As Exception
MsgBox("الرجاء اختيار القسم")
End Try
End Sub
some times when i click on this button will type on active window 4294: but aslo some time type 44294: and some time 4294:: and some time 4294: and some time 4449942: althought the data which comes from data base is just 4294:
why the variable b2 some time print wrong data not as want ???????
kilany
|
|
|
|
|
It's not the B2 variable that has the problem. It's SendKeys. Using SendKeys to send data or control another application is NOT reliable, as you've already found out. You're quite literally stuffing the keyboard buffer with keys that are NOT guaranteed to make it to their intended target control. On top of that, if the target control already has data in it, you could be inserting this data into the middle, or whatever, of the existing data.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
ok .. can you give me the best way t o pass a data without any lossing of data...
thanx alot friend
kilany
|
|
|
|
|
hi
how can i deploy my vs.net 2005 asp.net application(using vb.net) on remote server.
i'm unable to deploy my application on server URL
please guide me.
|
|
|
|
|
If this is going up to your ISP, this is a question best asked of them.
If this is one of your own servers, then the easiest way is to create a Setup project for your website and install in on your remote server.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
there was a problem in my PC while accessing the Microsoft Common Dialog Control. It shows License problem...Can any one help me to rectify this problem?...
Thanks..
with regards.
K.Vijaya
|
|
|
|
|
I have created a sample web serivce. while running the web service, it shows an error which is regarding "user doesn't have access permissions". can any one tell me why this occurs?
K.Vijaya
|
|
|
|
|
could u please tell me is there any shortest way to create and place a new namespace into the coding? and let me know about the namespaces fully because i don't know how to create a namespace and tell me some ways to create a web service in VB.NET. thanks.
with regards.
K.Vijaya
|
|
|
|
|