Wednesday, February 16, 2005
David Chappell & Associates
David Chappell & Associates
David Chappel does a great job of presenting technology content in a way that is understandable. He writes a lot of papers for Microsoft.
This site has a lot of his white papers that you can read through
Articles and White Papers
A repository of design patterns. - PatternShare
PatternShare
A repository of design patterns.
The PatternShare community site brings together software patterns from different authors in one place to show relationships between existing patterns and encourages developers to contribute new ones.
Tuesday, February 15, 2005
Fiddler - NetMon on steroids
http://www.fiddlertool.com/fiddler/
Fiddler is a HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP Traffic, set breakpoints, and "fiddle" with incoming or outgoing data. Fiddler is designed to be much simpler than using NetMon or Achilles, and includes a simple but powerful JScript.NET event-based scripting subsystem.
Great .NET UI components
Sandbar
Features:
* Office 2003 and Office XP style renderers supplied
* Pluggable renderer support for full customisation of appearance
* Toolbars can be rearranged and redocked to any side of your form
* Toolbars can be pulled off the sides and "floated" in any position
* Saving and restoring your users' preferred UI layout is easy with two functions
* Images are supported by binding to ImageLists or direct Icon support (16x16 through 128x128)
* A completely new menubar can be un/redocked like toolbars, and even host controls
* Top-level menu items can be shown as context menus on any control
* All library objects can be inherited to extend their functionality
And at design time...
* Automatic menu system conversion can copy appearance, names and even events of existing menus
* Buttons can be bound to menu items to cut down on repeated code
* In-situ designer support for adding/selecting/configuring toolbar items
* Menu designer offers the same ease-of-use as the framework equivalent, with more capabilities
* All toolbar and menu items support full drag-and-drop
* Configuration of a toolbar's location in a group is made easy
DotNetWidgets
Docking Suite
Document Manager
Outlook Bar
Wizard"
Monday, February 14, 2005
.NET Development
Links to lots of cool stuff on .NET devlopment on MSDN. Most of them from the MSDN mag
.NET Development
Thursday, February 10, 2005
Multi-monitor task bar
This a truly cool app if you have multiple monitors.
It allows you to create a seperate taskbar on your 2nd monitor (and even supports a 3rd monitor).
http://www.mediachance.com/free/multimon.htm
Wednesday, February 09, 2005
ArcObjects AlterSpatialReference does not work
ESRI ArcObjects
If you have attempted to use AlterSpatialReference and it does not seem to work then most probably the file is in use.
If you attempted calling it from ArcCatalog, then check to see if the image is not loaded in ArcMap or ArcScene or is being used by some other application.
In code, if you attempt to set the spatial reference then you need to set the GeoDatasetSchemeEdit to null (or nothing in VB).
Here is an example using VC++
IDocumentPtr ipDoc;
ipApp->get_Document(&ipDoc);
IMxDocumentPtr ipMxDoc(ipDoc);
IMapPtr ipMap;
ipMxDoc->get_FocusMap(&ipMap);
ISpatialReferencePtr ipSpatialReference;
ipMap->get_SpatialReference( &ipSpatialReference );
IWorkspaceFactoryPtr ipWorkspaceFactory;
ipWorkspaceFactory.CreateInstance(CLSID_RasterWorkspaceFactory);
IRasterWorkspacePtr ipRWorkspace;
IWorkspacePtr ipWorkspace;
hRes = ipWorkspaceFactory->OpenFromFile(CComBSTR(strResPath), 0, &ipWorkspace);
ipRWorkspace = ipWorkspace;
IRasterDatasetPtr ipRasterDataset;
IRasterPtr ipRaster;
hRes = ipRWorkspace->OpenRasterDataset (CComBSTR(strResFileName), &ipRasterDataset);
VARIANT_BOOL varCanAlter;
if ( (ipSpatialReference != NULL) && (ipRasterDataset != NULL) )
{
((IGeoDatasetSchemaEditPtr)ipRasterDataset)->get_CanAlterSpatialReference(&varCanAlter);
if (varCanAlter == VARIANT_TRUE )
{
((IGeoDatasetSchemaEditPtr)ipRasterDataset)->AlterSpatialReference(ipSpatialReference );
}
}
ipRasterDataset = NULL; //this is important - otherwise Spatial Ref wont be set
//reopen raster dataset
hRes = ipRWorkspace->OpenRasterDataset (CComBSTR(strResFileName), &ipRasterDataset);
//...continue processing the raster
Assigning properties to delegates in C#
Assigning properties to delegates in C# - this cannot be done.
So if you wanted to select a property to use at runtime, then you can use a method similar to that shown below.
public class Class1
{
string s1 = null;
string s2 = null;
private PropertyInfo _prop;
public Class1(int iPropToUse)
{
if (iPropToUse == 1)
_prop = typeof(Class1).GetProperty("PropOne");
else
_prop = typeof(Class1).GetProperty("PropTwo");
}
public string PropOne
{
get {return s1; }
set {s1 = value;}
}
public string PropTwo
{
get {return s2;}
set {s2 = value;}
}
public void SetStringValue(string s)
{
if (_prop != null) _prop.SetValue(this,s,null);
}
public string GetStringValue()
{
if (_prop != null) return (string) _prop.GetValue(this,null);
else return "no property set";
}
static void Main(string[] args)
{
Class1 o1 = new Class1(1);
o1.SetStringValue("Hello");
Console.WriteLine(o1.GetStringValue());
Class1 o2 = new Class1(2);
o2.SetStringValue("World");
Console.WriteLine(o2.GetStringValue());
int i = Console.Read();
}
}
using Reflection for runtime calling of methods
See Dynamically Loading and Using Types in MSDN documentation
Saturday, January 01, 2005
Subscribe to:
Posts (Atom)