|
Kastro wrote:
That doesn't work either..
No my code was right IntPtr is a value type so you will not have any problems.
You don't need AllocHGlobal
As far as I'm concerned you are a lower form of life than B*** S***** and M***** M******** combined. Colin Davies on some guy called R*** G****
|
|
|
|
|
From the .NET help docs:
public IntPtr(
int value
);
value - A pointer or handle contained in a 32-bit signed integer."
IntPtr is a value type, but the value that it stores is an address.
My original code works (presumably leaking memory though). When I switch to using new IntPtr(WVR_REDRAW) it doesn't work...
|
|
|
|
|
IntPtr is a value type of size same as the default pointer size for the platform. It can be used for numbers or pointers. All it is is that it size varies the number stored in it can be anything.
In window messages LParam, and WParam are 32 bit ints or 64 bit ints depending on the platform. In window messages LParam and WParam mean different things depending on the context. Same thing about LResult it can be used to return integers or pointers. In case of WM_NCCALCSIZE windows expect an integer to be returned so if return as new IntPtr(WVR_REDRAW) it is ok.
|
|
|
|
|
Ok, I figured out what's going on... You are right about just using new IntPtr(WVR_REDRAW).. I used Spy++ to see what result was being returned for the WM_NCCALCSIZE message...
For my code I was getting WVR_ALIGNBOTTOM | WVR_REDRAW | 0019F008
From what you suggested I get WVR_REDRAW...
What you suggested wasn't working (as far as the control went) because of other reasons...
Also is the wording of the help file incorrect then? That's what led me to believe what I did.
|
|
|
|
|
Kastro wrote:
Also is the wording of the help file incorrect then?
Not entirely, IntPtr is used to represent an integer value that varies in size depending on the platform. A specific use of such an integer is a pointer. There isn't anything special about a pointer, except that its value refers to a location in memory.
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
Hi
I have a problem with running more than 2 async WebRequest's when launched. To explain better. Only 2 at a time responds, while the others wait for a "slot" to open. Then once one "slot" is open, the next async WebRequest will continue.
I am invoking all the requests from a foreach loop in the main program thread. I was thinking there is maybe a 2 operation limit, but can find no such mention.
IAsyncResult res = ds.WebRequest.BeginGetResponse( new AsyncCallback( this.ResponseCallback) , ds);
But ResponseCallback only get called when a slot opens up.
Any help will be accepted.
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
This is the behavior of IE; to test it yourself upload 3 largish files to a website and create a webpage linking to them. Load the page up then right click and save target as on 3 of them; 2 will go immediately while the third will wait. I can't remember the agreed upon reasoning for this at the moment.
Unfortunately not much you can do about it unless you create your own class which will do the downloading. But there is a chance such a class already exists
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
James T. Johnson wrote:
Unfortunately not much you can do about it unless you create your own class which will do the downloading.
Thanx James, this is exactly what I am doing
I have tried calling Stream.Read each from its own thread, but with no joy either Now only one download starts and with a second one following that and all others timing out.
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
You aren't going to be able to use the WebRequest class at all; because the problem is how the WebRequest class works, by shifting the burden to the IE implementations which has the 2 connections to the same server limit.
The "work around" is to create your own WebRequest type class using the base Socket class to handle the communication with the HTTP server.
Given the TcpClient class this might not be very hard, if you have the HTTP 1.1 spec open since most communication is done via text.
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
Thanx James, I thought it has somethin todo with that , for some reason i believe that number use to be 4, till IE 5/6, then it went back to 2.
James T. Johnson wrote:
2 connections to the same server limit
Is this limit only per server, iow should i get more connections if i have more servers available with the same resource?
Is there not a registry entry that can be modified?
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
Is there a way to check this? i have been looking through the documentation and found nothing....even i can get the filename, i could tell.
Email: theeclypse@hotmail.com URL: http://www.onyeyiri.co.uk "All programmers are playwrights and all computers are lousy actors."
|
|
|
|
|
Does anyone know how to get an icon from a DLL and put it in an image list? the icon is in the SHELL32.dll file.
Email: theeclypse@hotmail.com URL: http://www.onyeyiri.co.uk "All programmers are playwrights and all computers are lousy actors."
|
|
|
|
|
I am overriding the OnMouseDown in a DataGrid to do one simple thing (open a browser window on click.)
However I then naturally loose the other native abilities of the DataGrid such as automatic column sizing and automatic column sorting.
So my question is there no way I can "selectively" override or rather "hook onto" that event to run my own code, but then leave the native abilities of the DataGrid alone?
Or do I basically have to re-write the sodding code for column resizing and sorting?
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
|
|
|
|
|
You should be able to call the base.OnMouseDown() method when you want to let the DataGrid handle the other things (its usually a requirement anyway so the MouseDown event fires)
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
James T. Johnson wrote:
You should be able to call the base.OnMouseDown() method when you want to let the DataGrid handle the other things
Thank you James, that works like a bomb
I am getting a clearer picture of overriding and inheriting now.
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
|
|
|
|
|
|
Nishant S wrote:
How can a Windows.Forms derived control's constructor differentiate between designer instantiation and run time instantiation?
LMAO I have exactly that same problem with CP+. Damned constructor loads some files which are obviously not present at design time, so then the Form Designer shows that horrid HRESULT 0x80131019 error. So far I have not found a way to get around it.
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
|
|
|
|
|
You could get around this by delaying the loading of the file until the Load event of the UserControl and supplying reasonable default values until then (for the designer).
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
James T. Johnson wrote:
You could get around this by delaying the loading of the file until the Load event of the UserControl and supplying reasonable default values until then (for the designer).
What I did do though was put in a if (file.exists... condition in the constructor. If no file exists then hard coded defaults are used.
Still would be nice to know whether the app is in design time or run time in the constructor though.
Thanks James.
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
|
|
|
|
|
In design time the default constructor gets called. So setup some example values with that.
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
Nishant S wrote:
How can a Windows.Forms derived control's constructor differentiate between designer instantiation and run time instantiation?
Not in the constructor. The earliest you can do is in set accessor of Site property. You can check in that case Site.DesignMode.
(I was hoping that our RC#S - JTJ will have a better answer this so I left it)
|
|
|
|
|
|
Rama Krishna wrote:
Not in the constructor. The earliest you can do is in set accessor of Site property. You can check in that case Site.DesignMode
LOL, I couldn't think of why the Site property was always null in the constructor.
BTW, a more up-front property is the protected boolean property DesignMode , which aleviates a check of Site for null first.
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
James T. Johnson wrote:
LOL, I couldn't think of why the Site property was always null in the constructor
I meant to say he needed to overload the Site property
class MyComp : Component
{
public override System.ComponentModel.ISite Site
{
get
{
return base.Site;
}
set
{
base.Site = value;
//Now you can test for DesignMode property
}
}
}
}
|
|
|
|
|