|
this is true... i am merely reffering to all my customers who will be jumping on the first official 64-bit Windows that will work on x86-64... i hope for my sake, .net is available when the XP and win2k3 x86-64 versions are released!
|
|
|
|
|
Hi,
I am using .NET Remoting to connect a server program to a client program over network. I need to have a form hide and another open on the client when a button is clicked on the server. Is this possible?
Regards,
John
|
|
|
|
|
Sure, but the form itself isn't serializable unless you make it so, and you'll ru into several problems. Instead, I recommend you create a sort of adapter class that is the remoting type. The form can host the client-side adapter. When the adapter is signaled by the server (assuming you use the correct activation type and a TcpChannel), it could call the form's Show and Hide methods.
Now why you'd want to do this is beyond me, but - hey - it's your app!
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I am using MySQLDriverCS and I have a table I have gotten through the select command.
When I try the following
foreach(DataRow myData in MyDataTable.Rows)<br />
{<br />
}<br />
<br />
I throws an InvalidCastException in System.Data.dll
I have even tried sending the rows to a DataRowCollection and it does the same thing when doing the foreach loop.
I have checked HasErrors property and it is false. This is not making much sence to me. Anyone have any ideas.
|
|
|
|
|
What about this?
for(int i=0; i<MyDataTable.Rows.Count; i++)
{
MyDataTable.Rows[i]. ...
}
Don't forget, that's Persian Gulf not Arabian gulf!
Murphy: Click Here![^]
Events and Delegates simplified: Click Here![^]
I'm thirsty like sun, more landless than wind...
|
|
|
|
|
Hi, I am having a problem deleting memory allocated from a legacy C++ DLL.
The DLL uses PostMessage to send data to a parent App, and expects the parent app to delete the memory when it has finished with it.
I have created a new C++ DLL to interface the calls from my new .NET application as one of the functions in the legacy DLL required a CWnd* parameter.
I am trapping the message posted by the legacy DLL by overriding the WndProc of my .NET form, and I am collecting the data from the memory pointer in the posted message with Marshal.PtrToStructure(m.LParam, new myStruct().GetType()).
I then tried calling a function in my new C++ DLL, passing m.LParam as the pointer to the memory I need to delete, but I get an error - _CrtIsValidHeapPointer(pUserData) thrown up from the Visual C++ debugger.
I have also tried calling Marshal.FreeHGlobal(m.LParam) from my .NET form, but this doesn't work either.
Can anyone please help me?
|
|
|
|
|
is there anyway i can generate a transparent image with system.drawing, using only safe code?
all i have seen are unsafe hacks for gifs...
if i try to save pngs to a stream i always get "general errors"
|
|
|
|
|
|
unfortunatly this doesn't work once you try to save the image.
doesn't effect the background either...
|
|
|
|
|
How about posting some code that your trying to use so we can see what your doing.
I take it your trying to draw a picture using GDI+ and then save the resulting image with a color-keyed transparent background?
RageInTheMachine9532
|
|
|
|
|
Not sure if you were getting the same "general error" I was (I got something equally informative), but I ran into a problem writing an HTTPHandler to convert TIF's to PNG's on the fly.
I was trying to save the image to the ResponseStream directly, but I kept getting that error. I then created a MemoryStream, and I was then able to write the contents of the MemoryStream to the HTTP Response.
I'm GUESSING here, but I think the stream it wants needs to be seekable, so in my case the HTTP ResponseStream didn't work.
You might make sure that the stream you're trying to write the PNG is a MemoryStream and see if it fixes some of your problems.
I, for one, do not think the problem was that the band was down. I think that the problem may have been that there was a Stonehenge monument on the stage that was in danger of being crushed by a dwarf.
-David St. Hubbins
|
|
|
|
|
this must be my problem... i will try this and get back
|
|
|
|
|
hmm, i am doing something wrong... i have not used the memorystream before...
i am not getting any errors during compile, but the png is not comming out at all (redx in internet explorer and "cannot be displayed" because it contains errors in firebird)
can you see what i am doing wrong?
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
fImage.Save(memStream,ImageFormat.Png);
byte[] j = new Byte[memStream.Length];
memStream.Read(j,0,(int)memStream.Length);
ctx.Response.ContentType = "image/png";
ctx.Response.BinaryWrite(j);
|
|
|
|
|
seems to be working with:
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
fImage.Save(memStream,ImageFormat.Png);
ctx.Response.ContentType = "image/png";
ctx.Response.BinaryWrite(memStream.ToArray());
thanks for the help!
|
|
|
|
|
Good deal. Glad to see someone else stumbled across that REALLY useful error message as well .
I, for one, do not think the problem was that the band was down. I think that the problem may have been that there was a Stonehenge monument on the stage that was in danger of being crushed by a dwarf.
-David St. Hubbins
|
|
|
|
|
Bitmap img = new Bitmap(100, 100);
img.MakeTransparent = color.white;
img.Save("myimage.png", System.Drawing.Imaging.ImageFormat.Png);
img.Dispose();
Matthew Hazlett
Windows 2000/2003 MCSE
Never got an MCSD, go figure...
|
|
|
|
|
any way i can get my images to look a little nicer, perhaps some anti-aliasing?
currently it looks like:
(note transparent png doesn't seem to work in IE, firefox only)
This
|
|
|
|
|
I'm not sure what type of transparency you're currently building into this PNG.
If you're doing a color key where basically one color indicates 100% transparency, you can't really do something like anti-aliasing. Your image would have to know color of what it's being drawn on top of an anti-alias to that color (thus defeating the purpose of a transparent image ). People have this problem with transparent GIF's because they only allow one color in the pallete to be transparent (100% transparent).
If you can get an alpha channel going instead of a color-key (256 levels of transparency on 8 bits of alpha for instance), then you can have the edges do some anti-aliasing.
I'm not exactly positive of the best way to actually anti-alias, but I can tell you it's pretty much impossible for things with only 100% or 0% transparency (without knowing what you're being drawn on top of). One easy (cheesy) way to make it look better is draw the image at 2x or 4x and then resize (with a good resizing algorithm) it to the size you want (all with an alpha channel, in other words a 32-bit image).
Let us know how this turns out...
I, for one, do not think the problem was that the band was down. I think that the problem may have been that there was a Stonehenge monument on the stage that was in danger of being crushed by a dwarf.
-David St. Hubbins
|
|
|
|
|
not too sure, i am a runtime drawing newbie
first i "Clear" the background with Graphics.Clear(Color.Transparent) then i draw a line and two strings on the graphic using Graphics.DrawString and Graphics.DrawLine
i just noticed the quality of the image descreased significantly when saving as a png with transparency, instead of a jpg...
i find it particularily odd that the transparent pngs that are generated are not compatible with internet explorer... i thought that the low quality pngs (8bpp) with transparency worked... yet there is not PixelFormat.8bpp that isn't indexed... and you can't draw on indexed bitmaps using Graphics
the purpose of this project was just to test out the drawing features and try to make something useful...
you can test it out...
it takes the string of a request and parses it into values of a "fraction" which it then draws
the first part is a hex colour, preceded by the pound indicator... or "p" in this instance.
then the font size in pixel format
then the numerator
and the denominator, with a final terminating comma.
Example for best results use a browser that supports transparent pngs
if you want to take a look at the code
Here
(anyone know of a utility for automatically formating in VS.NET style, for the web/html?)
|
|
|
|
|
How to use "GetWindow" in C#.net?
Thanks in advance!
|
|
|
|
|
someForm.Owner
The graveyards are filled with indispensible men.
|
|
|
|
|
Only if your nCmd parameter to GetWindow would be GW_OWNER .
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
You'll have to P/Invoke it like so:
[DllImport("user32.dll")]
private static extern IntPtr GetWindow(
IntPtr hWnd,
[MarshalAs(UnmanagedType.U4)] int nCmd);
private const int GW_HWNDFIRST = 0;
private const int GW_HWNDLAST = 1;
private const int GW_HWNDNEXT = 2;
private const int GW_HWNDPREV = 3;
private const int GW_OWNER = 4;
private const int GW_CHILD = 5; You could define those constants as a enum, then change the declaration from int to your enum in GetWindow (leave the MarshalAsAttribute as is) if you want, but it really makes no difference if these are private and you'll be the only one calling these.
You can get the window handle from Control.Handle , from which all controls (including Form ) derive. You can use Control.FromHandle with the return IntPtr to get the control, which you can cast to whatever you like (like a Form ).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
|
how can i get the pixel width/height of a font formatted string?
i know it'd be possible to use a System.Windows.Forms.Label by setting AutoSize on, but this is an ugly way, especially since this is for a web project...
|
|
|
|