|
The main thing is that the 2nd parameter should be 'ByRef':
Declare Function midiInGetDevCaps Lib "winmm.dll" Alias "midiInGetDevCapsA" (ByVal uDeviceID As Integer, ByRef lpCaps As MIDIINCAPS, ByVal uSize As Integer) As Integer
Public Structure MIDIINCAPS
Dim ManufacturerID As Short
Dim ProductID As Short
Dim DriverVersion As Integer
Dim Label As String
Dim Support As Integer
End Structure
David Anton
Convert between VB, C#, C++, & Java
www.tangiblesoftwaresolutions.com
|
|
|
|
|
You are right, the main thing was to use byref on the 2nd param. I usually copy Api calls directly from win32api.txt but in this case copied it from someone elses downloaded code
Thanks for the assist
Midigeek
|
|
|
|
|
Hi,
This article[^] of mine should help you out for most issues.
Yes it may take some experimenting; however for optimum progress, you should fix issues in this order:
1. The stack problem should be solved through the CallingConvention attribute.
2. The numeric parameters or fields should pose no problem, just make sure you use the managed/unmanaged types with matching sizes.
3. The fixed-length string field takes a MarshalAs with SizeConst (not sure a symbolic constant is acceptable); I expect ByValTStr is right, the doc says:
Used for in-line, fixed-length character arrays that appear within a structure. The character type used with ByValTStr is determined by the System.Runtime.InteropServices.CharSet argument of the System.Runtime.InteropServices.StructLayoutAttribute applied to the containing structure.
Good luck
|
|
|
|
|
See my reply to David Anton's ByRef suggestio which was the only change I made. Thanks for the link to your article which also mentions delegates.
Now that Phase one (identify connected MIDI devices) works I shall code the MidiIn phase....watch this space!
|
|
|
|
|
Hi,
I have two numbers, they are rather large.
So I have
dim A
dim B
A=123456789
B=123456789
I am trying to compare the numbers,
if (A > B) then
code here
else
code here 2
end if
It is not comparing the numbers for some reason and going into the first part of the if statement, which is quite frankly false. I want it to go the second part of the code.
I have tried to cast A and B as cint, that did not work as well.
Any help is appreciated.
|
|
|
|
|
Without seeing your actual code, it's pretty much impossible to tell you what's wrong. From your description, it's possible that you might be comparing strings and not the values they represent.
|
|
|
|
|
you are right on the dot! But how can I make this code compare as numbers? I tried to cast as number and it did not work. I used cint.
|
|
|
|
|
have you tried not to use CInt and dim an integer variable?
|
|
|
|
|
What did I just say about seeing the relevent code??
|
|
|
|
|
It look just like what I mentioned in my intial email.
if (A > B) then
code1
else
code2
end if
I have also tried it this way:
if ((cint(A) > cint(B))
code1
else
code2
end if
|
|
|
|
|
That's only the compare, not the relevant code. What is supply these variables you are comparing???
|
|
|
|
|
Thanks for all your help.
I used CDbl to on the number and it is working.
|
|
|
|
|
Hi guys I have very big question
I have a project on Visual Studio, this project include table SQL data. I notice when I add records or add rows with information . imagine that I add more than 1000 rows full with a lot of names and number. the crazy thing that all these data will be removed once I change a little code or add. I wonder how can I protect my data even I make change code time to time.
|
|
|
|
|
What makes you think that changing the code in your project magically causes the data in the database to disappear?
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Please stand in front of my pistol, smile and wait for the flash - JSOP 2012
|
|
|
|
|
Probably those crazy things he mentioned.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
Richard MacCutchan wrote: crazy things
Yeah probably. I would not be able to guess which one, out of the 4 or 5 billion crazy things that it could be, is causing the problem
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Please stand in front of my pistol, smile and wait for the flash - JSOP 2012
|
|
|
|
|
well that what happen to me every time I create SQL table and after save some record like add rows full with information it will be saved and fine but once I change any code or for example create new button on the form the data on the GridviewData will disappear I am not sure if that because I have to change something on the Proprieties
|
|
|
|
|
romo22 wrote: I have to change something on the Proprieties
I would have to say no.... the things that you are describing is not possible. If your data was saved then it was saved. You are possibly creating a transaction and not committing. More likely you are clearing the table somewhere in your code. Adding a button to your project will not magically make data in a database just disappear.
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Please stand in front of my pistol, smile and wait for the flash - JSOP 2012
|
|
|
|
|
Trying to guess what is going on from what you told us is quite tough...
What could happen is that you have your database as a .sdf or .mdb file ; when you change your code, and recompile, the datafile is copied to the output directory.
So when you recompile, you overwrite the datafile in the output directory of your projet (the datafile that your application is actually using).
But it's just a guess. Unfortunately I lost my crystal ball
...No memory stick has been harmed during establishment of this signature.
|
|
|
|
|
|
Please don't expect people to go to other sites to try and understand your question. Explain clearly what your problem is, showing code extracts where necessary, and show what results you expect and what you get.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
you don't even tell us your billion data gone from database or dataset..
|
|
|
|
|
Why are you telling me this?
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
sometimes words leads you to understand different thing or doesn't make sense for you . reading my words not enough to understand my problem because my English not good enough to express what I need to say it. I speak different language, I don't even understand what database means on my language I just understand what database do.
we spent a lot of times chat to each other write to each other youtube that I did will save our time please watch you will not lose anything you are here because you need to help me,
http://www.youtube.com/watch?v=jDj_ZD10y0k[^]
|
|
|
|
|
romo22 wrote: English not good enough
I fully appreciate that English is not your native language. Nothing is stopping you from using Google translate to translate your native language into English and then posting that here.
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Please stand in front of my pistol, smile and wait for the flash - JSOP 2012
|
|
|
|