Search Results

Search found 10803 results on 433 pages for 'printer properties'.

Page 5/433 | < Previous Page | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >

  • Printing to a Windows 7 incompatible printer shared on supported Windows XP machine

    - by MGSoto
    I have an HP Laserjet 1500 that is supported by Windows XP, but not supported by Windows-7. I want to print from my 7 machine(s) to my XP machine on this printer. Is there some sort of way to send a generic job (like sending raw postscript or something) to the XP machine, which will then print it with the proper drivers? Is there a virtual printer that has drivers for both XP and 7 that will just re-print it on the XP machine using the real printer?

    Read the article

  • Printer keeps going offline in Windows 7 XP Mode

    - by Steve Rowe
    Every time I reboot the computer, the printer in Windows 7 XP mode goes offline. I have to go back into the full XP mode and attach the printer again to make it work. I have the settings set to automatically attach the printer, but it doesn't appear to be working. Any ideas what might make it automatically re-attach? Does anyone see this working?

    Read the article

  • HP Printer scrolls "printing" forever - but nothing happens

    - by brett80
    I got a used HP Officejet 7130 all-in-one printer. I tried printing a text document, and it shows up in the queue (and says "printing"), and the printer display says "Printing" "Press Cancel to cancel job." - and it cyles that text forever, but nothing ever happens (after a couple of initial quiet noises.) I tried to print a test page from the printer, and I get the same "printing" message. I checked the hp website, and this problem is not on their list. (They are expecting a queue problem, error message, etc.) I did initially get a message that it needs new ink cartridges, but I pressed to get past that. It's supposed to try to print anyway. I don't want to buy ink cartridges for a printer that is broken. When I press it cancels correctly.

    Read the article

  • how to print labels from UPS printer on UPS website

    - by paynes_bay
    I have several computers, in my office, that have UPS printers attached to them. On most of these computers if you go to ups.com, login, and print a shipping label out, it prints out just fine. The website somehow selects the appropriate printer and prints to it. It doesn't present a prompt, asking you to select the printer, the number of pages, etc - it just prints it. Only problem: there's one computer on which it's not doing this and I don't know why. I can see the printer in Printers and Faxes and can print out test pages from the Properties tab, so the printer clearly works - it just isn't printing out from UPS's website. Any ideas?

    Read the article

  • Installing HomeGroup Printer

    - by jchapa
    Hello, I have two Windows 7 computers on a HomeGroup. I am on "Computer A" and need to access a printer connected to "Computer B". On Computer A, the HomeGroup panel tells me that it found a new shared printer on my home network and provides a button to "Install printer". However, when I click on it, nothing happens... Any ideas? Thanks.

    Read the article

  • Windows XP SP3 client printer error over AD

    - by Alex
    I have Windows Server 2008r2 and a Windows XP SP3 client machine in Active Directory. My problem is that I've installed the printer on the windows server and shared it, the permissions are right, but when i try to connect to that printer from the windows xp client, it throws the following errer: "You do not have sufficient access to your computer to connect to the selected printer". Again, the permissions are right. I think I'm missing something that I couldn't find on the web. :( please help!

    Read the article

  • Use lan-connected printer within VMware

    - by maloo
    Hi, i have a HP printer connnect via LAN to the host-PC (windows 7) and i want to use it from a virutal windows XP intallation within vmware but XP does not seem to find the printer, any ideas? BTW, i do have a network connection to the router where the printer is connected.

    Read the article

  • How to enable printer settings over Jetdirect on HP 4100N

    - by zsero
    I have a HP 4100N printer and I am using it over network. Previously I was able to access the printer settings over internet, but now the only thing visible is Device Info and Networking. I can connect to the web server and I can set all the network related settings, but that's not what I want. There should be a supplies, config, print info, etc. page, what are not visible now. Can you tell me what setting should I set to enable this printer config page on the webserver? The printer is a HP 4100N and the network card is J4169A (Jetdirect 610n).

    Read the article

  • Snow Leopard crashes my Xerox printer

    - by Ho Li Cow
    Just set up 2 brand new iMac 21.5" with OS X 10.6.2 pre-installed in our office. Now whenever we try to print an e-mail out, it re-sets the printer i.e. it switches off, does a POST and prints out a Printer Config page. I can print web pages and from other apps fine, just Apple Mail seems to be suffering. Printer is a Xerox Phaser 7750. I downloaded the drivers it recommended when i first tried printing which didn't help and then also tried downloading from the Xerox site. The latter seemed to install fine but then right at the end, it would say 'Installation Successful', then ask me to choose a printer (it found it fine, both by Bonjour and Raw TCP - i tried both) and then it would give an error message. Any help appreciated.

    Read the article

  • Setting up Konico Minolta 1400w printer on windows vista 32bit

    - by Josh
    One of my neighbors asked me to help them setup this old printer on their computer (thier other printer is broken) so after fighting with it for about an hour but to no avail. Every time I try to install it, windows just recognizes it a as "print to file printer" as in it will only print to an output file. It's kinda urgent so speedy help would be appreciated.

    Read the article

  • Host hijacks USB printer from VirtualBox machine

    - by jackhab
    I have Ubuntu 9.1 running Windows XP in VirtualBox. Windows XP is a print server (there is no Linux driver for our printer). The printer is connected via USB and its USB filter is added to virtual machine settings. The problem is that every several hours Ubuntu tries to access the printer (trying to install it) and disconnects it from the virtual machine. The printer remains disconnected until I connect it again manually. I thought it is a problem with Windows power management but disabling sleep/standby in Windows didn't help. Please, advise.

    Read the article

  • Network Printer Issue.

    - by goldenmean
    Hello, I have a Windows-7 Desktop at office. There is a network printer Dell MFP2335dn which is installed on this dekstop. The printer worked fine for me(I could print from my desktop), sometime back but recently i am not been able to print. When i give a print job, it stays in the queue for a long time, nothing gets printed. When i see the status of the printer in "Devices and Printers", it says - Offline. I removed the printer installed on my Desktop, and tried to install the drivers downloaded from Dell website: http://support.euro.dell.com/support/downloads/download.aspx?c=uk&l=en&s=gen&releaseid=R241894&formatcnt=0&libid=0&typeid=-1&dateid=-1&formatid=-1&source=-1&fileid=349205 But still the same problem. I don't know what to do more to resolve this. Any pointers about how to resolve this error and get printing done. thanks, -AD.

    Read the article

  • I can't get my Macbook Pro to print to an IP addressable printer

    - by Pieter
    Running Macbook Pro OS X 10.6.3 Accessing an HP OfficeJet 5610 plugged in the USB port of a US Robotics router. I tried several combinations of: Protocol: Internet Printing Protocol (IPP) Line Printer Daemon (LPD) HP JetDirect (socket) Address: http://192.168.1.10:1631/printers/HP5610 192.168.1.10:1631/printers/HP5610 http://192.168.1.10:1631 192.168.1.10:1631 192.168.1.10 ... Driver: HP OfficeJet 5600 Series Whenever I try to print, it fails while saying "connected to printer" or "Printer is busy...zill try again in X seconds" Both Windows 7 and Windows XP computers on the network can successfully access this printer, identifying it as "HP5610 on http://192.168.1.10:1631/" I tried clearing all tasks and printers (ctrl-click in the menu), and resetting it to (socket, http://192.168.1.10:1631/printers/HP5610, HP5600 series) but to no success.

    Read the article

  • MS-DOS application sending screen output to LPT printer

    - by gadget00
    We have a MS-DOS application(coded in FoxPro), and recently had this glitch: the screen menu of the application without reason starts printing in an LPT Panasonic KX-1150 printer. It's a never ending print of all the screens of the application, as if the main output instead of sending it to the monitor, sends it to the printer! It creates a unnamed document with N/D pages and keeps printing forever. We have to turn the printer off and then kill the document in the spool to stop it... The printer is installed with a Generic/Text driver, and has happened to us both in WindowsXP and Win7. What can this be? Thanks in advance

    Read the article

  • Hooking up a multifunction printer via network and USB

    - by C-dizzle
    I have a Dell 2155CDN Multifunction printer that is hooked up through our network. But when using the scan feature, it is terribly slow, and I assume it has something to do with it scanning through the network port. Is it possible to leave the printer hooked up across the network, but also attach it to a computer via USB just for the scanner? Or would doing this confuse the printer not knowing which port to use for each feature?

    Read the article

  • TextPad printing to incorrect printer

    - by TecBrat
    I have tried to find an answer on Google, and searched SU, but have not found anything on this particular issue. I Looked for a setting in the TextPad menu and didn't see anything that seemed relevant. I have 2 networked printers that are the same model. (HP LaserJet 2200 Series PCL 5) One is near me and the other is across the building. The one near me is my default. It seems that TextPad remembers the last printer used and defaults to it rather than printing to the system default, so when I force it to print to my default printer once, the problem is solved until I decide to print to the other printer for some reason. If I don't remember the problem, and specifically print a job to the nearby printer to correct it, I'll end up either wasting paper or wasting trips across the building to pick up printjobs that got printed there by accident. Has anyone else noticed this problem? Is there a solution?

    Read the article

  • Sharing a printer on Windows home network

    - by Jeff
    I have a home network, and I'm trying to share a printer connected to one of the PCs. The wireless modem through which the internet comes through doesn't reach the entire house, so we have another router set up as well. The modem is 192.168.1.1 (let's call this A) and the router is set up as 192.168.1.100 (let's call this B). Subnet masks 255.255.255.0. The printer is hooked up to a PC on B. If my laptop is connected wirelessly to B, it can see the printer. However, if it's connected to A, it doesn't show up in My Network Places. How can I get it so that I can print to the printer regardless of whether the

    Read the article

  • Sharing a printer on Windows home network

    - by Jeff
    I have a home network, and I'm trying to share a printer connected to one of the PCs. The wireless modem through which the internet comes through doesn't reach the entire house, so we have another router set up as well. The modem is 192.168.1.1 (let's call this A) and the router is set up as 192.168.1.100 (let's call this B). Subnet masks 255.255.255.0. The printer is hooked up to a PC on B. If my laptop is connected wirelessly to B, it can see the printer. However, if it's connected to A, it doesn't show up in My Network Places. How can I get it so that I can print to the printer regardless of whether the

    Read the article

  • Printer in a AD double side print problem

    - by Spidfire
    ive got a printer in my Active directory but its standard set to double sided printing but the problem is the printer doesnt support that so you have to switch it manualy Ive found the setting for the user but it is automatically set to the original value if you reboot Where can i find the setting in the active directory ? the printer is a :HP Color LaserJet CP1510 Series PCL 6 (its possible that there is a script for this but i dont know where to look)

    Read the article

  • Printer in a AD double side print problem

    - by Spidfire
    ive got a printer in my Active directory but its standard set to double sided printing but the problem is the printer doesnt support that so you have to switch it manualy Ive found the setting for the user but it is automatically set to the original value if you reboot Where can i find the setting in the active directory ? the printer is a :HP Color LaserJet CP1510 Series PCL 6 (its possible that there is a script for this but i dont know where to look)

    Read the article

  • Add/Remove script for local printer

    - by GxFlint
    I have a Windows XP machine that runs two applications and both print on a thermal printer connected by a serial port. For one application, the "Generic / Text Only" printer must be present, for the other to work I need to remove it. I've found a few .vbs scripts, but they are for network printer. How do I make them work with my local printer? Is there a better solution? The user would have to run the script every time he needs to switch from an application to another.

    Read the article

  • Creating a dynamic, extensible C# Expando Object

    - by Rick Strahl
    I love dynamic functionality in a strongly typed language because it offers us the best of both worlds. In C# (or any of the main .NET languages) we now have the dynamic type that provides a host of dynamic features for the static C# language. One place where I've found dynamic to be incredibly useful is in building extensible types or types that expose traditionally non-object data (like dictionaries) in easier to use and more readable syntax. I wrote about a couple of these for accessing old school ADO.NET DataRows and DataReaders more easily for example. These classes are dynamic wrappers that provide easier syntax and auto-type conversions which greatly simplifies code clutter and increases clarity in existing code. ExpandoObject in .NET 4.0 Another great use case for dynamic objects is the ability to create extensible objects - objects that start out with a set of static members and then can add additional properties and even methods dynamically. The .NET 4.0 framework actually includes an ExpandoObject class which provides a very dynamic object that allows you to add properties and methods on the fly and then access them again. For example with ExpandoObject you can do stuff like this:dynamic expand = new ExpandoObject(); expand.Name = "Rick"; expand.HelloWorld = (Func<string, string>) ((string name) => { return "Hello " + name; }); Console.WriteLine(expand.Name); Console.WriteLine(expand.HelloWorld("Dufus")); Internally ExpandoObject uses a Dictionary like structure and interface to store properties and methods and then allows you to add and access properties and methods easily. As cool as ExpandoObject is it has a few shortcomings too: It's a sealed type so you can't use it as a base class It only works off 'properties' in the internal Dictionary - you can't expose existing type data It doesn't serialize to XML or with DataContractSerializer/DataContractJsonSerializer Expando - A truly extensible Object ExpandoObject is nice if you just need a dynamic container for a dictionary like structure. However, if you want to build an extensible object that starts out with a set of strongly typed properties and then allows you to extend it, ExpandoObject does not work because it's a sealed class that can't be inherited. I started thinking about this very scenario for one of my applications I'm building for a customer. In this system we are connecting to various different user stores. Each user store has the same basic requirements for username, password, name etc. But then each store also has a number of extended properties that is available to each application. In the real world scenario the data is loaded from the database in a data reader and the known properties are assigned from the known fields in the database. All unknown fields are then 'added' to the expando object dynamically. In the past I've done this very thing with a separate property - Properties - just like I do for this class. But the property and dictionary syntax is not ideal and tedious to work with. I started thinking about how to represent these extra property structures. One way certainly would be to add a Dictionary, or an ExpandoObject to hold all those extra properties. But wouldn't it be nice if the application could actually extend an existing object that looks something like this as you can with the Expando object:public class User : Westwind.Utilities.Dynamic.Expando { public string Email { get; set; } public string Password { get; set; } public string Name { get; set; } public bool Active { get; set; } public DateTime? ExpiresOn { get; set; } } and then simply start extending the properties of this object dynamically? Using the Expando object I describe later you can now do the following:[TestMethod] public void UserExampleTest() { var user = new User(); // Set strongly typed properties user.Email = "[email protected]"; user.Password = "nonya123"; user.Name = "Rickochet"; user.Active = true; // Now add dynamic properties dynamic duser = user; duser.Entered = DateTime.Now; duser.Accesses = 1; // you can also add dynamic props via indexer user["NickName"] = "AntiSocialX"; duser["WebSite"] = "http://www.west-wind.com/weblog"; // Access strong type through dynamic ref Assert.AreEqual(user.Name,duser.Name); // Access strong type through indexer Assert.AreEqual(user.Password,user["Password"]); // access dyanmically added value through indexer Assert.AreEqual(duser.Entered,user["Entered"]); // access index added value through dynamic Assert.AreEqual(user["NickName"],duser.NickName); // loop through all properties dynamic AND strong type properties (true) foreach (var prop in user.GetProperties(true)) { object val = prop.Value; if (val == null) val = "null"; Console.WriteLine(prop.Key + ": " + val.ToString()); } } As you can see this code somewhat blurs the line between a static and dynamic type. You start with a strongly typed object that has a fixed set of properties. You can then cast the object to dynamic (as I discussed in my last post) and add additional properties to the object. You can also use an indexer to add dynamic properties to the object. To access the strongly typed properties you can use either the strongly typed instance, the indexer or the dynamic cast of the object. Personally I think it's kinda cool to have an easy way to access strongly typed properties by string which can make some data scenarios much easier. To access the 'dynamically added' properties you can use either the indexer on the strongly typed object, or property syntax on the dynamic cast. Using the dynamic type allows all three modes to work on both strongly typed and dynamic properties. Finally you can iterate over all properties, both dynamic and strongly typed if you chose. Lots of flexibility. Note also that by default the Expando object works against the (this) instance meaning it extends the current object. You can also pass in a separate instance to the constructor in which case that object will be used to iterate over to find properties rather than this. Using this approach provides some really interesting functionality when use the dynamic type. To use this we have to add an explicit constructor to the Expando subclass:public class User : Westwind.Utilities.Dynamic.Expando { public string Email { get; set; } public string Password { get; set; } public string Name { get; set; } public bool Active { get; set; } public DateTime? ExpiresOn { get; set; } public User() : base() { } // only required if you want to mix in seperate instance public User(object instance) : base(instance) { } } to allow the instance to be passed. When you do you can now do:[TestMethod] public void ExpandoMixinTest() { // have Expando work on Addresses var user = new User( new Address() ); // cast to dynamicAccessToPropertyTest dynamic duser = user; // Set strongly typed properties duser.Email = "[email protected]"; user.Password = "nonya123"; // Set properties on address object duser.Address = "32 Kaiea"; //duser.Phone = "808-123-2131"; // set dynamic properties duser.NonExistantProperty = "This works too"; // shows default value Address.Phone value Console.WriteLine(duser.Phone); } Using the dynamic cast in this case allows you to access *three* different 'objects': The strong type properties, the dynamically added properties in the dictionary and the properties of the instance passed in! Effectively this gives you a way to simulate multiple inheritance (which is scary - so be very careful with this, but you can do it). How Expando works Behind the scenes Expando is a DynamicObject subclass as I discussed in my last post. By implementing a few of DynamicObject's methods you can basically create a type that can trap 'property missing' and 'method missing' operations. When you access a non-existant property a known method is fired that our code can intercept and provide a value for. Internally Expando uses a custom dictionary implementation to hold the dynamic properties you might add to your expandable object. Let's look at code first. The code for the Expando type is straight forward and given what it provides relatively short. Here it is.using System; using System.Collections.Generic; using System.Linq; using System.Dynamic; using System.Reflection; namespace Westwind.Utilities.Dynamic { /// <summary> /// Class that provides extensible properties and methods. This /// dynamic object stores 'extra' properties in a dictionary or /// checks the actual properties of the instance. /// /// This means you can subclass this expando and retrieve either /// native properties or properties from values in the dictionary. /// /// This type allows you three ways to access its properties: /// /// Directly: any explicitly declared properties are accessible /// Dynamic: dynamic cast allows access to dictionary and native properties/methods /// Dictionary: Any of the extended properties are accessible via IDictionary interface /// </summary> [Serializable] public class Expando : DynamicObject, IDynamicMetaObjectProvider { /// <summary> /// Instance of object passed in /// </summary> object Instance; /// <summary> /// Cached type of the instance /// </summary> Type InstanceType; PropertyInfo[] InstancePropertyInfo { get { if (_InstancePropertyInfo == null && Instance != null) _InstancePropertyInfo = Instance.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly); return _InstancePropertyInfo; } } PropertyInfo[] _InstancePropertyInfo; /// <summary> /// String Dictionary that contains the extra dynamic values /// stored on this object/instance /// </summary> /// <remarks>Using PropertyBag to support XML Serialization of the dictionary</remarks> public PropertyBag Properties = new PropertyBag(); //public Dictionary<string,object> Properties = new Dictionary<string, object>(); /// <summary> /// This constructor just works off the internal dictionary and any /// public properties of this object. /// /// Note you can subclass Expando. /// </summary> public Expando() { Initialize(this); } /// <summary> /// Allows passing in an existing instance variable to 'extend'. /// </summary> /// <remarks> /// You can pass in null here if you don't want to /// check native properties and only check the Dictionary! /// </remarks> /// <param name="instance"></param> public Expando(object instance) { Initialize(instance); } protected virtual void Initialize(object instance) { Instance = instance; if (instance != null) InstanceType = instance.GetType(); } /// <summary> /// Try to retrieve a member by name first from instance properties /// followed by the collection entries. /// </summary> /// <param name="binder"></param> /// <param name="result"></param> /// <returns></returns> public override bool TryGetMember(GetMemberBinder binder, out object result) { result = null; // first check the Properties collection for member if (Properties.Keys.Contains(binder.Name)) { result = Properties[binder.Name]; return true; } // Next check for Public properties via Reflection if (Instance != null) { try { return GetProperty(Instance, binder.Name, out result); } catch { } } // failed to retrieve a property result = null; return false; } /// <summary> /// Property setter implementation tries to retrieve value from instance /// first then into this object /// </summary> /// <param name="binder"></param> /// <param name="value"></param> /// <returns></returns> public override bool TrySetMember(SetMemberBinder binder, object value) { // first check to see if there's a native property to set if (Instance != null) { try { bool result = SetProperty(Instance, binder.Name, value); if (result) return true; } catch { } } // no match - set or add to dictionary Properties[binder.Name] = value; return true; } /// <summary> /// Dynamic invocation method. Currently allows only for Reflection based /// operation (no ability to add methods dynamically). /// </summary> /// <param name="binder"></param> /// <param name="args"></param> /// <param name="result"></param> /// <returns></returns> public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result) { if (Instance != null) { try { // check instance passed in for methods to invoke if (InvokeMethod(Instance, binder.Name, args, out result)) return true; } catch { } } result = null; return false; } /// <summary> /// Reflection Helper method to retrieve a property /// </summary> /// <param name="instance"></param> /// <param name="name"></param> /// <param name="result"></param> /// <returns></returns> protected bool GetProperty(object instance, string name, out object result) { if (instance == null) instance = this; var miArray = InstanceType.GetMember(name, BindingFlags.Public | BindingFlags.GetProperty | BindingFlags.Instance); if (miArray != null && miArray.Length > 0) { var mi = miArray[0]; if (mi.MemberType == MemberTypes.Property) { result = ((PropertyInfo)mi).GetValue(instance,null); return true; } } result = null; return false; } /// <summary> /// Reflection helper method to set a property value /// </summary> /// <param name="instance"></param> /// <param name="name"></param> /// <param name="value"></param> /// <returns></returns> protected bool SetProperty(object instance, string name, object value) { if (instance == null) instance = this; var miArray = InstanceType.GetMember(name, BindingFlags.Public | BindingFlags.SetProperty | BindingFlags.Instance); if (miArray != null && miArray.Length > 0) { var mi = miArray[0]; if (mi.MemberType == MemberTypes.Property) { ((PropertyInfo)mi).SetValue(Instance, value, null); return true; } } return false; } /// <summary> /// Reflection helper method to invoke a method /// </summary> /// <param name="instance"></param> /// <param name="name"></param> /// <param name="args"></param> /// <param name="result"></param> /// <returns></returns> protected bool InvokeMethod(object instance, string name, object[] args, out object result) { if (instance == null) instance = this; // Look at the instanceType var miArray = InstanceType.GetMember(name, BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Instance); if (miArray != null && miArray.Length > 0) { var mi = miArray[0] as MethodInfo; result = mi.Invoke(Instance, args); return true; } result = null; return false; } /// <summary> /// Convenience method that provides a string Indexer /// to the Properties collection AND the strongly typed /// properties of the object by name. /// /// // dynamic /// exp["Address"] = "112 nowhere lane"; /// // strong /// var name = exp["StronglyTypedProperty"] as string; /// </summary> /// <remarks> /// The getter checks the Properties dictionary first /// then looks in PropertyInfo for properties. /// The setter checks the instance properties before /// checking the Properties dictionary. /// </remarks> /// <param name="key"></param> /// /// <returns></returns> public object this[string key] { get { try { // try to get from properties collection first return Properties[key]; } catch (KeyNotFoundException ex) { // try reflection on instanceType object result = null; if (GetProperty(Instance, key, out result)) return result; // nope doesn't exist throw; } } set { if (Properties.ContainsKey(key)) { Properties[key] = value; return; } // check instance for existance of type first var miArray = InstanceType.GetMember(key, BindingFlags.Public | BindingFlags.GetProperty); if (miArray != null && miArray.Length > 0) SetProperty(Instance, key, value); else Properties[key] = value; } } /// <summary> /// Returns and the properties of /// </summary> /// <param name="includeProperties"></param> /// <returns></returns> public IEnumerable<KeyValuePair<string,object>> GetProperties(bool includeInstanceProperties = false) { if (includeInstanceProperties && Instance != null) { foreach (var prop in this.InstancePropertyInfo) yield return new KeyValuePair<string, object>(prop.Name, prop.GetValue(Instance, null)); } foreach (var key in this.Properties.Keys) yield return new KeyValuePair<string, object>(key, this.Properties[key]); } /// <summary> /// Checks whether a property exists in the Property collection /// or as a property on the instance /// </summary> /// <param name="item"></param> /// <returns></returns> public bool Contains(KeyValuePair<string, object> item, bool includeInstanceProperties = false) { bool res = Properties.ContainsKey(item.Key); if (res) return true; if (includeInstanceProperties && Instance != null) { foreach (var prop in this.InstancePropertyInfo) { if (prop.Name == item.Key) return true; } } return false; } } } Although the Expando class supports an indexer, it doesn't actually implement IDictionary or even IEnumerable. It only provides the indexer and Contains() and GetProperties() methods, that work against the Properties dictionary AND the internal instance. The reason for not implementing IDictionary is that a) it doesn't add much value since you can access the Properties dictionary directly and that b) I wanted to keep the interface to class very lean so that it can serve as an entity type if desired. Implementing these IDictionary (or even IEnumerable) causes LINQ extension methods to pop up on the type which obscures the property interface and would only confuse the purpose of the type. IDictionary and IEnumerable are also problematic for XML and JSON Serialization - the XML Serializer doesn't serialize IDictionary<string,object>, nor does the DataContractSerializer. The JavaScriptSerializer does serialize, but it treats the entire object like a dictionary and doesn't serialize the strongly typed properties of the type, only the dictionary values which is also not desirable. Hence the decision to stick with only implementing the indexer to support the user["CustomProperty"] functionality and leaving iteration functions to the publicly exposed Properties dictionary. Note that the Dictionary used here is a custom PropertyBag class I created to allow for serialization to work. One important aspect for my apps is that whatever custom properties get added they have to be accessible to AJAX clients since the particular app I'm working on is a SIngle Page Web app where most of the Web access is through JSON AJAX calls. PropertyBag can serialize to XML and one way serialize to JSON using the JavaScript serializer (not the DCS serializers though). The key components that make Expando work in this code are the Properties Dictionary and the TryGetMember() and TrySetMember() methods. The Properties collection is public so if you choose you can explicitly access the collection to get better performance or to manipulate the members in internal code (like loading up dynamic values form a database). Notice that TryGetMember() and TrySetMember() both work against the dictionary AND the internal instance to retrieve and set properties. This means that user["Name"] works against native properties of the object as does user["Name"] = "RogaDugDog". What's your Use Case? This is still an early prototype but I've plugged it into one of my customer's applications and so far it's working very well. The key features for me were the ability to easily extend the type with values coming from a database and exposing those values in a nice and easy to use manner. I'm also finding that using this type of object for ViewModels works very well to add custom properties to view models. I suspect there will be lots of uses for this - I've been using the extra dictionary approach to extensibility for years - using a dynamic type to make the syntax cleaner is just a bonus here. What can you think of to use this for? Resources Source Code and Tests (GitHub) Also integrated in Westwind.Utilities of the West Wind Web Toolkit West Wind Utilities NuGet© Rick Strahl, West Wind Technologies, 2005-2012Posted in CSharp  .NET  Dynamic Types   Tweet !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();

    Read the article

  • c# Properties.Settings.Default Doesn't work as expected

    - by Jack
    I've been working on a program to automate my backup checks with LogMeIn backup (a windows forms based program). I now need a way to store user settings, to save information easily. I've never worked with the Application/User settings that is somewhat "built-in" - and decided to try it, but ran into problems. I added four settings for now: IncludeCriteria (Specialized.StringCollection) ExcludeCriteria (Specialized.StringCollection) ReportPath (string) ReportType (int) But the behavior doesn't act as expected (go figure). After saving some values in my program, I go back into edit/view my settings values using the VS 2008 settings editor. None of my values are stored. While I think this may be because those values are just default values, wouldn't that be where they can be stored/read/changed? Here is my load form code (still very unrefined): private void setupForm() { txtPath.Text = BackupReport.Properties.Settings.Default.ReportPath == null ? "" : BackupReport.Properties.Settings.Default.ReportPath; if (BackupReport.Properties.Settings.Default.ReportType == 0) { radioHTML.Checked = true; } else radioExcel.Checked = true; if (BackupReport.Properties.Settings.Default.IncludeCriteria.Count > 0) { listIncludeCriteria.DataSource = Properties.Settings.Default.IncludeCriteria; //foreach (string s in Properties.Settings.Default.IncludeCriteria) // listIncludeCriteria.Items.Add(s); } if (BackupReport.Properties.Settings.Default.ExcludeCriteria.Count > 0) { listExcludeCriteria.DataSource = BackupReport.Properties.Settings.Default.ExcludeCriteria; //foreach (string s in Properties.Settings.Default.ExcludeCriteria) // listExcludeCriteria.Items.Add(s); } } listIncludeCriteria is just a listbox. When the user saves I call this method: private void saveSettings() { //var settings = BackupReport.Properties.Settings; if (txtPath.Text != "") { BackupReport.Properties.Settings.Default.ReportPath = txtPath.Text; } if (listIncludeCriteria.Items.Count > 0) { //BackupReport.Properties.Settings.Default.IncludeCriteria = (StringCollection)listIncludeCriteria.Items.AsQueryable(); foreach (var i in listIncludeCriteria.Items) { if (!isIncludeDuplicate(i.ToString())) BackupReport.Properties.Settings.Default.IncludeCriteria.Add(i.ToString()); } } if (listExcludeCriteria.Items.Count > 0) { //BackupReport.Properties.Settings.Default.ExcludeCriteria = (StringCollection)listExcludeCriteria.Items.AsQueryable(); foreach (var i in listExcludeCriteria.Items) { if (!isExcludeDuplicate(i.ToString())) Properties.Settings.Default.ExcludeCriteria.Add(i.ToString()); } } if (radioExcel.Checked == true) BackupReport.Properties.Settings.Default.ReportType = 1; else BackupReport.Properties.Settings.Default.ReportType = 0; BackupReport.Properties.Settings.Default.Save(); //Properties.Settings.Default.Save(); this.DialogResult = DialogResult.OK; this.Close(); } The wierd thing is when the form loads, the path I put in the first time seems to come up (ReportPath) - even the listBoxes are populated with a bunch of crap I put in - yet I cant find these values anywhere. Any help would be appreciated! Josh

    Read the article

  • adding remote ssh printer as local printer

    - by guest
    I have SSH access to a remote host (FreeBSD) that has a printer set up. I do not have root access on that host or any other special user rights. Now I want to print directly from my laptop on that printer (Ubuntu 10.10). The problem is that I don't know how to "import" or whatever the the printer, as it needs authetification from my user account (print quota limitations). E-mailing me the files I want to print or scp them every time is a pain, ATM I pipe the PostScript output manually to a ssh command, but that's also a huge working overhead. E.g. when I want to print a foo.pdf pdftops '/path/to/foo.pdf' - | ssh user@remotehost 'lpr -P printername' So, does anyone know of a smooth way to shorten this procedure? Ideally I would just want to use a printername instead of the whole ssh command

    Read the article

< Previous Page | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >