|
private void button1_Click(object sender, EventArgs e)
{
string myStr = TextBox1.Text;
} Why don't you try it. TextBox1 is an object for class TextBox which has Text property returns the textbox content. I suggest you to get a book and workout the examples.
|
|
|
|
|
Thanks all for ur reply... going forward i ll try thanks again....
vikas da
|
|
|
|
|
In Windows i think there is no terms like TextArea as you mention in your question !!!!!
if you talking about Textbox then
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(Textbox1.Text.ToString());
}
And one more thing !!!. If you want TextArea like Htmlpage in Windows , just set multiline proprty as True...
Good Luck !!!!
|
|
|
|
|
Three questions here:
In my code, I do this:
In Method A,
- get a COM object from a COM server, wrapped in a RuntimeCallableWrapper (it's a Track object from iTunes)
- Cast the object from a Track object to a FileBasedTrackObject (both are iTunes objects)
- release the Track object with System.Runtime.InteropServices.Marshal.ReleaseComObject(Track)
- pass the FileBasedTrack object back to the caller
- In the calling method, Method B, I do
- If (FileBasedTrackObject is iTunesObjectType)
And I get InvalidComObjectException with the unusual message "COM object that has been separated from its underlying RCW cannot be used".
1. What would cause the COM object to lose it's RuntimeWrapper?
2. When I cast one object to another, are they still connected somehow? Is it not kosher to release the one before the other?
3. Is the cast completely controlled by the creator of the COM object? I'm doing:
(TrackObject) myTrack = GetTrackObject();
(FileTrackObject) myFileTrack = (FileTrackObject) myTrack;
When that occurs, is code being executed by the TrackObject class?
|
|
|
|
|
I don't think you can release the COM object until you are done with it. When you cast it, you are not increment the reference count (e.g. AddRef). So when you release it your Track and FileBasedTrack are no longer valid.
Try postponing the call to ReleaseComObject until you are completly done with the underlying COM object, regardless of how it's refer to (e.g. a TrackObject or FileTrackObject).
Take care,
Tom
-----------------------------------------------
Check out my blog at http://tjoe.wordpress.com
|
|
|
|
|
When I created a new object during the cast, why would the refcount not increase? How is this different than, say:
TrackObject myTrack = GetTrackObject();<br />
TrackObject mySecondTrack = myTrack;
It seems like in both cases, I would have two objects/variables pointing at the same underlying COM object. Calling ReleaseCOMObject is supposed to decrement the refcount, so calling it on the first TrackObject (myTrack in both examples) shouldn't release the underlying COM object...
ReleaseCOMObject is explained here:
http://msdn2.microsoft.com/en-us/library/system.runtime.interopservices.marshal.releasecomobject.aspx
but it seems to contradict itself in places, and I'm not sure how to map it to what I'm doing in code.
Your recommendation about postponing the release: once I leave Method A, I can never go back and release the Track object, since it will have gone out of scope. I could only ever release the casted object, the fileTrack. Since the Track object is out of scope, it will eventually get cleaned up by the GarbageCollector, but this isn't a very effecient management of memory. I'm trying to be a good citizen. Especially since I'm really getting the original Track object in a loop, where I might be getting 12000 Track objects
|
|
|
|
|
In the code:
TrackObject myTrack = GetTrackObject();
TrackObject mySecondTrack = myTrack;
There are really 2 objects: the .Net object and the COM object. The .Net object is referenced by myTrack and mySecondTrack, so it will only be garbage collected with both variables go out of scope.
If you cast the Object to a different type, it will still reference the same .Net object. So in this code:
TrackObject myTrack = GetTrackObject();
FileBasedTrackObject mySecondTrack = (FileBasedTrackObject)myTrack;
There are still only 2 objects. The only difference is that mySecondTrack now references the underlying .Net object through the eyes of the FileBasedTrackObject type.
Since there are only ever 2 objects, if you release the COM object referenced by myTrack then mySecondTrack is also released. Because it references the same .Net object (which in turn refereneced the COM object).
Take care,
Tom
-----------------------------------------------
Check out my blog at http://tjoe.wordpress.com
|
|
|
|
|
Hi!
Need somexamples how I can make a COM comunication over USB.
Or maybe some basic documantation about USB- comunication in C#.
modified on Monday, December 10, 2007 7:04:00 PM
|
|
|
|
|
When I bought my USB-to-serial cable, it came with a CD-ROM containing a driver.
When I installed it, it turned the port into a regular serial port, so it shows up
in all serial port enumerations, and most/all serial apps can use it, whether
HyperTerminal or some .NET based app using SerialPort class.
The app never is aware the USB-based serial port is connected in a different manner,
all the nasty details are hidden by Windows and the device drivers.
BTW: there are minor differences between such a USB-to-serial cable and a regular
serial port, mainly in timing; it is not able to achieve very high speed in toggling the
control lines, which for most applications is irrelevant; if however the attached
hardware requires very short pulses on say the DTR/DSR/RTS pins, the motherboard-
based serial port might be able to deliver and the USB-to-serial might not, due to the
fact USB communication requires data packets, which must be transmitted and
interpreted, whereas a direct port is much "closer" to the CPU.
|
|
|
|
|
Luc, read your sig: I'm currently not getting ANY email notifications. I suspect it's been the website/database overhaul they are doing. Hopefully notifications are back on track now!
|
|
|
|
|
Today I am getting an e-mail notification on most of the replies I am getting, but not all of them.
That is why I have put the warning in my sig.
The funny thing is, whenever I reply to one of my replies (or send an e-mail to my own reply)
I am sure NOT to get an e-mail.
|
|
|
|
|
Wow, they totally listened to my suggestion then, about not receiving notifications for your own replies... alternitavely, they where already going to do that.
Or somehting is still up with the e-mail server. Whichever.
My current favourite word is: Bauble!
-SK Genius
|
|
|
|
|
SK Genius wrote: about not receiving notifications for your own replies
well I don't really need mail notifications when replying to myself, but it is and should continue
to be an easy way to check whether notifications still work (after the CP earthquake I had none
for several days). Why would you suggest to filter them out???
|
|
|
|
|
Hey now, at least one other person agreed, they said so!
Anyways, its just uneccesary to receive one of my own messages in my inbox. Besides, think of all the e-mail notifications it could save... like 5 or perhaps even 10!
And on a side note, where have you been these last few days? I usually see you hangin' around here alot, but the last few days.. not so much.
My current favourite word is: Bauble!
-SK Genius
|
|
|
|
|
SK Genius wrote: where have you been these last few days?
with a site that is getting upgraded for good reasons, but in the process recently:
- has been and sometimes still is hampered by performance problems
- offers almost no search facilities
- has hidden some of its forums
- is attracting fewer people, hence fewer questions
- is not always giving notifications
my response time has increased and my contributions indeed have been less frequent.
Newtons third law applies to all of us.
|
|
|
|
|
The problem is that we have to program our own driver for the USB.
So I wanted to know how to send bit in C#
|
|
|
|
|
You may get more/better replies if you tell us more about what it is you want to achieve
and why you feel you need to develop a driver? your own hardware? ...
|
|
|
|
|
It is a project for our university. We got an processor, and now we have to program an driver for the USB port, and a C# application which can comunicate with it (one byte would be enough).
|
|
|
|
|
Do you mean to say the microprocessor has a USB port and a serial port, and your task is to
actually turn it into a USB-to-serial cable?
if one byte is enough, let the microprocessor be powered through the USB port, and have it
output "Hello World!" as soon as it exits power-up reset!
Writing an actual Windows driver is not a simple task. You will need the right DDK (Driver
Development Kit), which I expect comes with some examples.
Hint: your microprocessor vendor may hold the solution for you; he probably has an elementary
solution for this kind of application.
BTW: which processor is it?
|
|
|
|
|
Hi guys,
I know how to open a file using the OpenFileDailog control or by drag-drop it on the object.
What I'm curious about is, how to associate a file type with my application or right-click on that file and select my application from the open-with list?
any ideas on how to get the file path will be appreciated
|
|
|
|
|
Hi,
1.
to associate a file extension with an app you can:
- use Windows Explorer, menu Tools/Folder Options/File Types
- modify the registry with regedit or write some code (search CodeProject for details)
- or easiest: double-click, and let the Explorer dialogs guide you (make sure to check "Always...")
2.
for Open With, I expect the same possibilities but don't have the experience.
3.
if your file extension is associated to your app, then double-clicking the file will launch
the app and pass the full file path as command line arguments; see the arguments of your static
main() method and/or Environment.GetCommandLineArgs().
4.
Once you have all this in place you will probably want the double-click to reuse your app
if it is already open; if so search CP for "singleton application".
|
|
|
|
|
|
I need to have a sound play in response to some internal event. I know how to play .wav files of any sort, but I don't want to play a .wav file..just send a beep. I think there's some unicode command that will do it, but if anybody could give me a tip on how to do it, that would be, well, helpful.
Thanks.
|
|
|
|
|
|
Write a character 7, or use System.Console.Beep which allows specifying the frequency and duration of the beep.
|
|
|
|