Search Results

Search found 25362 results on 1015 pages for 'compiling from source'.

Page 479/1015 | < Previous Page | 475 476 477 478 479 480 481 482 483 484 485 486  | Next Page >

  • Problem when scaling game screen in Libgdx

    - by Nicolas Martel
    Currently, I'm able to scale the screen by applying this bit of code onto an OrthographicCamera Camera.setToOrtho(true, Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2); But something quite strange is happening with this solution, take a look at this picture of my game below Seems fine right? But upon further investigation, many components are rendered off by one pixels, and the tiles all are. Take a closer look I circled a couple of the errors. Note that the shadow of the warrior I circled appears fine for the other warriors. Also keep in mind that everything is rendered at pixel-perfect precision when I disable the scaling. I actually thought of a possible source for the problem as I'm writing this but I decided to still post this because I would assume somebody else might run into the same issue.

    Read the article

  • Can we put percentage on amount of work of a certain role in project's lifecycle?

    - by deviDave
    The title may be confusing, but I will elaborate it here. I am trying to figure our how much time and effort each person spend during some project. I divided roles into: - junior developer (works mainly on UI and some light things) - senior developer (develops complex logic, database structures, etc.) - lead developer (leads the team, usually most experienced person) - negotiator/resolver (a person who directly talk to a client trying to either negotiate terms and timeframe or to clarify vagueness presented by a team leader) My AIM is to calculate percentage of role's involvement based on quality, not time (obviously a junior will spend most time in project, but with the least quality). In the end I would get a table which may look like this: Total: 100% ---------------- Junior: 10% Senior: 50% Lead: 30% Negotiator: 10% Can this be achieved? Has anyone found any source which may help me?

    Read the article

  • Website Ad Management tools

    - by vishnu
    Our company has a plan of buying a large number of cheap sites online as a part of marketing our main product. Currently there are a huge number of ads in those websites which are to be replaced with ours. Like Google Adsense , Clickbank etc. Is there a free, open source tool available online to replace these ads, track and manage them. I would like to discuss the feasibility of purchasing large number of sites for SEO and marketing. How easy is it going to manage these website.

    Read the article

  • Why there suddenly were so many 400 request in my access log?

    - by LotusH
    Below are little part of my access_log 118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-" 05 118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-" 06 118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-" 07 118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-" 08 118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-" 09 220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-" 10 220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-" 11 220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-" 12 220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-" 13 220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-" 14 220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-" And the volume was very huge, some like one hundred thousand of these 400 request per second. And I'm pretty sure there are no errors on my site in that period of time.(No error report and I didn't change the source code)

    Read the article

  • ReSharper 8.0 EAP now available

    - by TATWORTH
    Originally posted on: http://geekswithblogs.net/TATWORTH/archive/2013/06/28/resharper-8.0-eap-now-available.aspxJetbrains have just released |ReSharper 8.0 Beta on their Early Access |Programme at http://www.jetbrains.com/resharper/whatsnew/?utm_source=resharper8b&utm_medium=newsletter&utm_campaign=resharper&utm_content=customersResharper 8.0 comes with the following new features:Support for Visual Studio 2013 Preview. Yes, ReSharper is known to work well with the fresh preview of Visual Studio 2013, and if you have already started digging into it, ReSharper 8.0 Beta is ready for the challenge.Faster code fixes. Thanks to the new Fix in Scope feature, you can choose to batch-fix some of the code issues that ReSharper detects in the scope of a project or the whole solution. Supported fixes include removing unused directives and redundant casts.Project dependency viewer. ReSharper is now able to visualize a project dependency graph for a bird's eye view of dependencies within your solution, all without compiling anything!Multifile templates. ReSharper's file templates can now be expanded to generate more than one file. For instance, this is handy for generating pairs of a main logic class and a class for extensions, or sets of partial files.Navigation improvements. These include a new action called Go to Everything to let you search for a file, type or method name from the same input box; support for line numbers in navigation actions; a new tool window called Assembly Explorer for browsing through assemblies; and two more contextual navigation actions: Navigate to Generic Substitutions and Navigate to Assembly Explorer.New solution-wide refactorings. The set of fresh refactorings is headlined by the highly requested Move Instance Method to move methods between classes without making them static. In addition, there are Inline Parameter and Pull Parameter. Last but not least, we're also introducing 4 new XAML-specific refactorings!Extraordinary XAML support. A plethora of new and improved functionality for all developers working with XAML code includes dedicated grid inspections and quick-fixes; Extract Style, Extract, Move and Inline Resource refactorings; atomic renaming of dependency properties; and a lot more.More accessible code completion. ReSharper 8 makes more of its IntelliSense magic available in automatic completion lists, including extension methods and an option to import a type. We're also introducing double completion which gives you additional completion items when you press the corresponding shortcut for the second time.A new level of extensibility. With the new NuGet-based Extension Manager, discovering, installing and uninstalling ReSharper extensions becomes extremely easy in Visual Studio 2010 and higher. When we say extensions, we mean not only full-fledged plug-ins but also sets of templates or SSR patterns that can now be shared much more easily.CSS support improvements. Smarter usage search for CSS attributes, new CSS-specific code inspections, configurable support for CSS3 and earlier versions, compatibility checks against popular browsers - there's a rough outline of what's new for CSS in ReSharper 8.A command-line version of ReSharper. ReSharper 8 goes beyond Visual Studio: we now provide a free standalone tool with hundreds of ReSharper inspections and additionally a duplicate code finder that you can integrate with your CI server or version control system.Multiple minor improvements in areas such as decompiling and code formatting, as well as support for the Blue Theme introduced in Visual Studio 2012 Update 2.

    Read the article

  • GPL/LGPL/MPL non-code content license

    - by user1103142
    I want to use a dictionary (basically a text file, and no code) that is included with an open office spell checking plug-in. The plug-in is under the tri-license GPL/LGPL/MPL which I don't understand. is that legal? If it is illegal, what if I wrote a script that uses the said open office plug-in to generate the dictionary (assuming it's technically possible, the script will generate all possible letter permutations, passes it to the plug-in and saves the correct ones) ? I will be using the dictionary in a closed source commercial application. The dictionary is in a language that has very little resources online, and short of making my own dictionary, there aren't any alternatives. Clarification: The script idea I mentioned above, isn't a weird technique, I would generate a document with all possible words and use open office with the plug-in installed to show spelling mistakes and remove them, isn't this the intended use of the plug-in (spell checking)?

    Read the article

  • Mouse wheel scrolls down, but not up?

    - by HDave
    I've set up a new machine with Ubuntu 12.04 (x64) and have notice that the mouse wheel scrolls down fine, but when I scroll up, it pages down! I've run xev and have verified that scroll up is registering as button 4 and scoll down is button 5. So everything there is fine. I think that button 4 is somehow mapped to page down instead of scroll up. Any idea how to fix? NOTE: I've read the Ubuntu instructions on how to use imwheel to change mouse button mappings, but it doesn't work on 12.04. See here: https://bugs.launchpad.net/ubuntu/+source/imwheel/+bug/1004812

    Read the article

  • Has anyone used Sproutcore?

    - by Sam Lee
    Has anyone used Sproutcore for a web application? If so, can you give me a description of your experience? I am currently considering it, but I have a few concerns. First, the documentation is bad/incomplete, and I'm afraid that I'll spend lots of time figuring things out or digging through source code. Also, I'm a bit hesitant to use a project that is relatively new and could undergo significant changes. Any thoughts from people who have developed in Sproutcore are appreciated! EDIT/PS: Yes, I've seen this post: http://stackoverflow.com/questions/370598/sproutcore-and-cappuccino . However I'm interested in a bit lengthier description of Sproutcore itself from someone who's used it for a significant project.

    Read the article

  • How to keep a big and complex software product maintainable over the years?

    - by chrmue
    I have been working as a software developer for many years now. It has been my experience that projects get more complex and unmaintainable as more developers get involved in the development of the product. It seems that software at a certain stage of development has the tendency to get "hackier" and "hackier" especially when none of the team members that defined the architecture work at the company any more. I find it frustrating that a developer who has to change something has a hard time getting the big picture of the architecture. Therefore, there is a tendency to fix problems or make changes in a way that works against the original architecture. The result is code that gets more and more complex and even harder to understand. Is there any helpful advice on how to keep source code really maintainable over the years?

    Read the article

  • A simple deployment example using Oracle Solaris 11

    - by Glynn Foster
    Last week I was over in Melbourne and Sydney to present at an Oracle Technology Network System Administration Day. During a set of morning sessions, I presented on some of the new things that we've done in Oracle Solaris 11 and our focus for the future. One of the sessions I presented was giving a quick technical overview of what a typical application deployment scenario would look like using technologies like the Image Packaging System (IPS), Service Management Facility (SMF), Oracle Solaris Zones, and network virtualization. While it's just a simple example, it provides the basic building blocks for a more advanced configuration that a data center would typically deploy. Given these would likely be of general interest, I thought I'd upload the slides for others to view - enjoy! You can download the original source PPTX without some of the formatting errors in the above.

    Read the article

  • What are best practices for testing programs with stochastic behavior?

    - by John Doucette
    Doing R&D work, I often find myself writing programs that have some large degree of randomness in their behavior. For example, when I work in Genetic Programming, I often write programs that generate and execute arbitrary random source code. A problem with testing such code is that bugs are often intermittent and can be very hard to reproduce. This goes beyond just setting a random seed to the same value and starting execution over. For instance, code might read a message from the kernal ring buffer, and then make conditional jumps on the message contents. Naturally, the ring buffer's state will have changed when one later attempts to reproduce the issue. Even though this behavior is a feature it can trigger other code in unexpected ways, and thus often reveals bugs that unit tests (or human testers) don't find. Are there established best practices for testing systems of this sort? If so, some references would be very helpful. If not, any other suggestions are welcome!

    Read the article

  • Few New Features Added to Geekswithblogs.net

    - by Staff of Geeks
    After reviewing some of the feedback from our bloggers we added a couple new features to Geekswithblogs.net and there are still more to come.  Here is a list of the features we added.   Fixed the Twitter parser to better support URLs and Hash Tags Added some hooks behind the scenes to tags posts with common keywords automatically Added Facebook likes and Tweets to the bottom of every post Cleaned up a few skins Images on the main page for bloggers who use Gravatar or Twitter integration Random bug fixes based on Log   We are definitely working to make Geekswithblogs.net faster and better.  If you have any suggestions, please feel free to share them with the team.  On a side note, if that suggestion is move to WordPress, I will reply to you with stop writing ASP.NET for your day job and move to PHP.  That request is the equivalent in my eyes.  If we have enough bloggers leave the Microsoft .NET Platform for their main source of income, we might consider it.   Technorati Tags: Geekswithblogs.net,Features,Version 4.0

    Read the article

  • Finding Near-Earth Asteroids

    - by TATWORTH
    One of the puzzling aspects of hunting for Near Earth Asteroids is that more has been spent on Hollywood films about potential disasters should one hit the Earth than on finding them in the first place. While there are a number of on-going asteroid search programs, these are all Earth-based at the moment. The limitations of them are:Each telescope can only observe for a maximum average of 12 hours per day.As far as I am aware, all these programs are in the visible light only. (Once an asteroid is found, then radar tracking is possible when it is close.)Being Earth based they cannot see inside the Earth's orbit.The Asteroids being generally dark, do not show up well in visible light.A private group are proposing a radical alternative to this by orbiting an infra-red telescope in the orbit of Venus. In Infra-red, the asteroids are more readily seen. Here are some details: Source SPACE.com: All about our solar system, outer space and exploration

    Read the article

  • Is SVN out of style?

    - by jitbit
    It's been only several years since I migrated from Visual Source Safe to SVN. And SVN for me is still kinda "WOW! I can do so many things! SVN is so cool!" But many people around me keep saying "SVN? Really? Meh..." And there's so many of them that I'm worried. Should I move my team to Git / Mercurial or some other fancy thing? I know I sound ridiculous and the obvious answer would be "stay with what works for YOU". SVN does work for me... But every time I create a new project in my repository I keep asking myself - may be this was the time to move? So... Is SVN really that bad? Do I miss a huge opportunity by sticking with it?

    Read the article

  • New London based .NET User Group &ndash; first meeting June 2nd on MEF

    - by Eric Nelson
    A new .NET User Group is starting up in Canary Wharf - CWDNUG. It plans to focus on technology for financial services such as: WPF & Silverlight. F# & other alternative languages. High volume systems & complex event processing. Agile tools, methodologies and experiences. Open source systems that you can use (or that need your help!). Upcoming releases from Microsoft (WP7, VS2010, TPL). The first meeting is on June 2nd and Marlon (WPF MVP) will be speaking about MEF. Register today as there are only 15 spots left :-) (as of Thursday 20th May)

    Read the article

  • Computer Lab School for Orphans

    - by Brendon
    I am helping out an NGO, called Orphans Found Fund, here in Arusha Tanzania setup a computer lab to teach students about Ubuntu and open source applications. I have installed Ubuntu 10.10 on all the systems. What I'm wondering about is how to tweak the systems so that the kids cannot: Delete or alter system files Alter the system settings Add or remove applications Exceed a time limit (like an Internet Cafe) Also as the administrator I would like to monitor the usage for another system to make sure that abuse of network is not taking place. Any advice is much appreciated. Brendon

    Read the article

  • Copyrighting software, templates, etc. under real name or screen name?

    - by Abluescarab
    My question is hopefully simple--should I copyright my work (art, software, web design, etc.) under my real name or my screen name? My real name and screen name are also easily connected with a bit of searching, so does it really matter in the end? I'm not a professional (at this point). I read this article: Is it a bad idea to sell Android apps in the Android Market under your real name? and they recommended releasing on the app market under a company name. I also read this article: On what name should I claim copyright in open source software?, but that didn't answer my question. I know it probably matters for big projects, but for little projects, does it matter? Thanks ahead of time!

    Read the article

  • Good application for taking notes on 12.04?

    - by Ankit
    Is there a good note taking application in ubuntu like Evernote exists for windows and Mac users. Requirements for good applications:- A thumbnail/list preview for all the created notes. An integration with the email address so that we can view the notes anywhere anytime. Any easy way to input text, video, pdf, images etc. I have tried tomboy, basket notes. They aren't that good. Edit: Trying to install nevernote from an external source. But it has not satisfiable Further trying to install libssl gives the following error The following information may help to resolve the situation: The following packages have unmet dependencies: libssreflect-coq : Depends: coq-8.3pl3+3.12.1 but it is not installable libssreflect-ocaml : Depends: libcoq-ocaml-4zyg6 but it is not installable libssreflect-ocaml-dev : Depends: libcoq-ocaml-dev-4zyg6 but it is not installable E: Unable to correct problems, you have held broken packages. Anything that I might be doing wrong?

    Read the article

  • JBoss Application Server 6 disponible, le serveur d'application Java de Red Hat offre le support complet de Java EE 6

    JBoss Application Server 6 disponible Le serveur d'application Java de Red Hat offre le support complet de Java EE 6 La nouvelle version de JBoss, le serveur d'application Java est disponible. Il s'agit de l'un des premiers serveurs à offrir un support complet et prêt pour la production de Java Entreprise Edition 6 (JEE 6), la spécification du langage Java qui peine encore a se faire une place dans les entreprises. JBoss est un projet open-source gratuit, racheté et mené depuis 2006 par Red Hat, qui offre aussi un support payant dans le cadre du package JBoss Enterprise Middleware et de JBoss Enterprise Application Platform. Pour mémoire, GlassFish, ...

    Read the article

  • Synergy - easy share of keyboard and mouse between multiple computers

    Did you ever have the urge to share one set of keyboard and mouse between multiple machines? If so, please read on... Using multiple machines Honestly, as a software craftsman it is my daily business to run multiple machines - either physical or virtual - to be able to solve my customers' requirements. Recent hardware equipment allows this very easily. For laptops it's a no-brainer to attach a second or even a third screen in order to extend your native display. This works quite handy and in my case I used to attached two additional screens - one via HD15 connector, the other via HDMI. But... as it's a laptop and therefore a mobile unit there are slight restrictions. Detaching and re-attaching all cables when changing locations is one of them but hardware limitations, too. After all, it's a laptop and not a workstation. I guess, that anyone working in IT (or ICT) has more than one machine at their workplace or their home office and at least I find it quite annoying to have multiple sets of keyboard and mouse conquering my remaining space on my desk. Despite the ugly looks of all those cables and whatsoever 'chaos of distraction' I prefer a more clean solution and working environment. This allows me to actually focus on my work and tasks to do rather than to worry about choosing the right combination of keyboard/mouse. My current workplace is a patch work of various pieces of hardware (approx. 2-3 years): DIY desktop on Ubuntu 12.04 64-bit, Core2 Duo (E7400, 2.8GHz), 4GB RAM, 2x 250GB HDD, nVidia GPU 512MB Dell Inspiron 1525 on Windows 8 64-bit, 4GB RAM, 200GB HDD HP Compaq 6720s on Windows Vista 32-bit, Core2 Duo (T5670, 1.8GHz), 2GB RAM, 160GB HDD Mac mini on Mac OS X 10.7, Core i5 (2.3 GHz), 2GB RAM, 500GB HDD I know... Not the latest and greatest but a decent combination to work with. New system(s) is/are already on the shopping list but I live in the 'wrong' country to buy computer hardware. So, the next trip abroad will provide me with some new stuff. Using multiple operating systems The list of hardware above already names different operating systems, and actually I have only one preference: Linux. But still my job as a software craftsman for Visual FoxPro and .NET development requires other OSes, too. Not a big deal, it's just like this. Additionally to those physical machines, there are a bunch of virtual machines around. Most of them running either Windows XP or Windows 7. Since years I have the practice that each development for one customer is isolated into its own virtual machine and environment. This keeps it clean and version-safe. But as you can easily imagine with that setup there are a couple of constraints referring to keyboard and mouse. Usually, those systems require their own pieces of hardware attached. As stated, I don't like clutter on my desk's surface, so a cross-platform solution has to come in here. In the past, I tried it with various applications, hardware or network protocols like X11, RDP, NX, TeamViewer, RAdmin, KVM switch, etc. but the problem in this case is that they either allow you to remotely connect to the other system or exclusively 'bind' your peripherals to the active system. Not optimal after all. Synergy to the rescue Quote from their website: "Synergy lets you easily share your mouse and keyboard between multiple computers on your desk, and it's Free and Open Source. Just move your mouse off the edge of one computer's screen on to another. You can even share all of your clipboards. All you need is a network connection. Synergy is cross-platform (works on Windows, Mac OS X and Linux)." Yep, that's it! All I need for my setup here... Actually, I couldn't believe it myself that I didn't stumble over synergy earlier but 'Get over it' and there we go. And despite the fact that it is Open Source, no, it's also for free. Donations for the developers are very welcome and recently they introduced Synergy Premium. A possibility to buy so-called premium votes that can be used to put more weight / importance on specific issues or bugs that you would like the developers to look into. Installation and configuration Simply download the installation packages for your systems of choice, run the installer and enter some minor information about your network setup. I chose my desktop machine for the role of the Synergy server and configured my screen setup as follows: The screen setup allows you currently to build or connect up to 15 machines. The number of screens can be higher as those machine might have multiple screens physically attached. Synergy takes this into the overall calculations and simply works as expected. I tried it for fun with a second monitor each connected to both laptops to have a total number of 6 active screens. No flaws after all - stunning! All the other machines are configured as clients like so: Side note: The screenshot was taken on Windows 8 and pasted via clipboard into Gimp running on Ubuntu. Resume Synergy is now definitely in my box of tools for my daily work, and amongst the first pieces of software I install after the operating system. It just simplifies my life and cleans my desk. Never again without Synergy!Now, only waiting for an Android version to integrate my Galaxy Tab 10.1, too. ;-) Please, check out that superb product and enjoy sharing one keyboard, one mouse and one clipboard between your various machines and operating systems.

    Read the article

  • Cannot use apt-get anymore because of one specific package

    - by Alex K.
    No matter what type of apt-get I run (install, update, ...) I always get: dpkg: warning: files list file for package `libgdata-google1.2-1' missing, assuming package has no files currently installed. dpkg: warning: files list file for package `libntlm0' missing, assuming package has no files currently installed. (Reading database ... 354644 files and directories currently installed.) Preparing to replace libntlm0 1.1-1 (using .../libntlm0_1.1-1_i386.deb) ... Unpacking replacement libntlm0 ... At this point apt-get hang. Does somebody know a way to fix this? Some days ago a line in source.list was removed (Google Chrome).

    Read the article

  • CAM XML Editor version 2.2.1 now available.

    - by drrwebber
    CAM Editor v2.2.1 release is now available. Lots of nice enhancements, CAMV performance boost and important bug fixes for DoD, NIEM and LEXS schema. Download is available from the CAM XML Editor Resource Site. The CAM editor is the leading open source XML Editor/Validation/Schema designer for rapidly building and deploying complete XML information exchanges. Provides a visual WYSIWYG structure with rule entry wizards and drag and drop dictionary components. Will import, analyze and refactor existing XML Schema. Oracle is a proud sponsor of the project and its use on the NIEM.gov initiative.Creates XSD schema + JAXB bindings, Mindmap or UML models (XMI), XML test suite examples, HTML documentation + spreadsheets (NIEM IEPDs). XSD schema export in default, flatten, NIEM, and OASIS modes. Generates canonical component dictionaries from schema sets, ERwin models, or spreadsheets.

    Read the article

  • What kind of spam is this?

    - by SSilk
    I realize this is a pretty vague question, but I occasionally get spam messages through my contact form on a Drupal 6 site. The contact form does not have any anti-spam protection (i.e. math question). The messages I get are all very similar and just jumbled junk, like below, so I think they're all from the same source. Example: ylsaf0V bpsdfuxnhjjd, [url=http://wwgfsggzgyjyjm.com/]wwgrfgzrgsjyjm[/url], [link=http://xmgvyghcuufvb.com/]xmjyhvyjyfjirovb[/link], http://frgxmdghrgruhfc.com/ Anyway, I'm just wondering what the point of such a message is. All the links are dead, it's illegible, and it's not trying to sell me a product or get me to do anything, so I'm a bit perplexed. Is there any way to tell where they're coming from? And how concerned should I be? To be clear, I'm not asking how to avoid them, I realize just adding a simple math challenge or captcha would likely do the job.

    Read the article

  • RTF template migration in BIP

    - by Manoj Madhusoodanan
    When you are creating BI template through application the RTF template information will stored in XDO_LOBS table.Column LOB_CODE will store the template short code,ie the link between the template and lob. When you migrate the template through java oracle.apps.xdo.oa.util.XDOLoader make sure the rtf file name and template short code are same.Otherwise the rtf will not get attached. Eg:  Source Instance Template Short Code : XXCUST_TEMPLATE RTF Name: XXCUST_TEMPLATE_1.rtf When you migrate the above details through  XDOLoader the rtf will not get attached to template in destination instance.So make sure RTF Name should be XXCUST_TEMPLATE.

    Read the article

  • LINQ and ArcObjects

    - by Marko Apfel
    Motivation LINQ (language integrated query) is a component of the Microsoft. NET Framework since version 3.5. It allows a SQL-like query to various data sources such as SQL, XML etc. Like SQL also LINQ to SQL provides a declarative notation of problem solving – i.e. you don’t need describe in detail how a task could be solved, you describe what to be solved at all. This frees the developer from error-prone iterator constructs. Ideally, of course, would be to access features with this way. Then this construct is conceivable: var largeFeatures = from feature in features where (feature.GetValue("SHAPE_Area").ToDouble() > 3000) select feature; or its equivalent as a lambda expression: var largeFeatures = features.Where(feature => (feature.GetValue("SHAPE_Area").ToDouble() > 3000)); This requires an appropriate provider, which manages the corresponding iterator logic. This is easier than you might think at first sight - you have to deliver only the desired entities as IEnumerable<IFeature>. LINQ automatically establishes a state machine in the background, whose execution is delayed (deferred execution) - when you are really request entities (foreach, Count (), ToList (), ..) an instantiation processing takes place, although it was already created at a completely different place. Especially in multiple iteration through entities in the first debuggings you are rubbing your eyes when the execution pointer jumps magically back in the iterator logic. Realization A very concise logic for constructing IEnumerable<IFeature> can be achieved by running through a IFeatureCursor. You return each feature via yield. For an easier usage I have put the logic in an extension method Getfeatures() for IFeatureClass: public static IEnumerable<IFeature> GetFeatures(this IFeatureClass featureClass, IQueryFilter queryFilter, RecyclingPolicy policy) { IFeatureCursor featureCursor = featureClass.Search(queryFilter, RecyclingPolicy.Recycle == policy); IFeature feature; while (null != (feature = featureCursor.NextFeature())) { yield return feature; } //this is skipped in unit tests with cursor-mock if (Marshal.IsComObject(featureCursor)) { Marshal.ReleaseComObject(featureCursor); } } So you can now easily generate the IEnumerable<IFeature>: IEnumerable<IFeature> features = _featureClass.GetFeatures(RecyclingPolicy.DoNotRecycle); You have to be careful with the recycling cursor. After a delayed execution in the same context it is not a good idea to re-iterated on the features. In this case only the content of the last (recycled) features is provided and all the features are the same in the second set. Therefore, this expression would be critical: largeFeatures.ToList(). ForEach(feature => Debug.WriteLine(feature.OID)); because ToList() iterates once through the list and so the the cursor was once moved through the features. So the extension method ForEach() always delivers the same feature. In such situations, you must not use a recycling cursor. Repeated executions of ForEach() is not a problem, because for every time the state machine is re-instantiated and thus the cursor runs again - that's the magic already mentioned above. Perspective Now you can also go one step further and realize your own implementation for the interface IEnumerable<IFeature>. This requires that only the method and property to access the enumerator have to be programmed. In the enumerator himself in the Reset() method you organize the re-executing of the search. This could be archived with an appropriate delegate in the constructor: new FeatureEnumerator<IFeatureclass>(_featureClass, featureClass => featureClass.Search(_filter, isRecyclingCursor)); which is called in Reset(): public void Reset() { _featureCursor = _resetCursor(_t); } In this manner, enumerators for completely different scenarios could be implemented, which are used on the client side completely identical like described above. Thus cursors, selection sets, etc. merge into a single matter and the reusability of code is increasing immensely. On top of that in automated unit tests an IEnumerable could be mocked very easily - a major step towards better software quality. Conclusion Nevertheless, caution should be exercised with these constructs in performance-relevant queries. Because of managing a state machine in the background, a lot of overhead is created. The processing costs additional time - about 20 to 100 percent. In addition, working without a recycling cursor is fast a performance gap. However declarative LINQ code is much more elegant, flawless and easy to maintain than manually iterating, compare and establish a list of results. The code size is reduced according to experience an average of 75 to 90 percent! So I like to wait a few milliseconds longer. As so often it has to be balanced between maintainability and performance - which for me is gaining in priority maintainability. In times of multi-core processors, the processing time of most business processes is anyway not dominated by code execution but by waiting for user input. Demo source code The source code for this prototype with several unit tests, you can download here: https://github.com/esride-apf/Linq2ArcObjects. .

    Read the article

< Previous Page | 475 476 477 478 479 480 481 482 483 484 485 486  | Next Page >