Search Results

Search found 10820 results on 433 pages for 'action'.

Page 41/433 | < Previous Page | 37 38 39 40 41 42 43 44 45 46 47 48  | Next Page >

  • Character coding / programming

    - by Jery
    Lately I tryed a few times to create characters for some games, but at some certain point (especially when collision detection came in) everything became messy and the interaction between chars, the world and certain items had a lot of bugs. So here is my question, how do you ussualy keep track of actions that your character is allowed to do, or more in general do you have some links / advices how to set up a char efficiantly? I´m working on a char right now, who should at least be able to run, jump, pick items up and use different fighting animations. Most ideas I came up with until now use some kind of action.priority / action.duration system to determain whats possible and what not, or a "action-manager" which defines for every action what is possible from that action on but it all doesnt work that well together.

    Read the article

  • Charakter coding / programming

    - by Jery
    lately I tryed a few times to create charakters for some games, but at some certain point (especially when collision detection came in) everything became messy and the interaction between chars, the world and certain items had a lot of bugs. So here is my question, how do you ussualy keep track of actions that your charakter is allowed to do, or more in general do you have some links / advices how to set up a char efficiantly? I´m working on a char right now, who should at least be able to run, jump, pick items up and use different fighting animations. Most ideas I came up with until now use some kind of action.priority / action.duration system to determain whats possible and what not, or a "action-manager" which defines for every action what is possible from that action on but it all doesnt work that well together =\ thx in advance for some input

    Read the article

  • Magento - Add CMS Block to One Page

    - by a1anm
    I have this code in a xml layout file: <reference name="left"> <block type="blog/blog" name="left.blog.menu" before="-"> <action method="setTemplate" ifconfig="blog/menu/left"> <template>aw_blog/menu.phtml</template> </action> <block type="blog/tags" name="blog_tags" /> </block> </reference> I want to add a cms static block to the blog pages using this code: <block type="cms/block" name="brand_list"> <action method="setBlockId"><block_id>brand_list</block_id></action> </block> If I add it in directly after this line: <reference name="left"> It works but it is then displayed on every page. How can I get it to show only on the blog pages? Thanks. Edit: Here is the entire xml file: <layout version="0.1.0"> <default> <reference name="footer_links"> <block type="blog/blog" name="add.blog.footer"> <block type="blog/tags" name="blog_tags" /> <action method="addFooterLink" ifconfig="blog/menu/footer"></action> </block> </reference> <reference name="right"> <block type="blog/blog" name="right.blog.menu" before="-"> <action method="setTemplate" ifconfig="blog/menu/right" ifvalue="1"> <template>aw_blog/menu.phtml</template> </action> <block type="blog/tags" name="blog_tags" /> </block> </reference> <reference name="left"> <block type="blog/blog" name="left.blog.menu" before="-"> <action method="setTemplate" ifconfig="blog/menu/left"> <template>aw_blog/menu.phtml</template> </action> <block type="blog/tags" name="blog_tags" /> </block> </reference> <reference name="top.links"> <block type="blog/blog" name="add.blog.link"> <action method="addTopLink" ifconfig="blog/menu/top"></action> <block type="blog/tags" name="blog_tags" /> </block> </reference> <reference name="head"> <action method="addItem"><type>skin_css</type><name>aw_blog/css/style.css</name></action> </reference> </default> <blog_index_index> <reference name="content"> <block type="blog/blog" name="blog" template="aw_blog/blog.phtml"/> </reference> </blog_index_index> <blog_index_list> <reference name="content"> <block type="blog/blog" name="blog" template="aw_blog/blog.phtml"/> </reference> </blog_index_list> <blog_post_view> <reference name="content"> <block type="blog/post" name="post" template="aw_blog/post.phtml"> <block type="socialbookmarking/bookmarks" name="bookmarks" template="bookmarks/bookmarks.phtml"/> </block> </reference> </blog_post_view> <blog_cat_view> <reference name="content"> <block type="blog/cat" name="cat" template="aw_blog/cat.phtml" /> </reference> </blog_cat_view> <blog_rss_index> <block type="blog/rss" output="toHtml" name="rss.blog.new"/> </blog_rss_index> </layout>

    Read the article

  • invoke javax.el.MethodExpression from jsf component

    - by marcos
    Hello gurus I have a jsp tag wich takes a javax.el.MethodExpression as attribute: <%@ attribute name="action" required="true" type="javax.el.MethodExpression" rtexprvalue="true" %> within the same tag i have: <h:commandLink action="#{action}"> link text </h:commandLink> I'm getting the following error when i try to click the link: javax.faces.FacesException: #{action}: org.apache.jasper.el.JspMethodNotFoundException: /WEB-INF/tags/pager/pager.tag(17,1) '#{action}' Identity 'action' was null and was unable to invoke is it possible for the commandLink to properly invoke the "action" method?

    Read the article

  • mvc2 host on iis6 : The incoming request does not match any route.

    - by Sefer KILIÇ
    I have to host my project on iis6, I can not change iis setting on server. So, I modified global.asax like below. But when I browse project I got error like : The incoming request does not match any route. have any idea? thanks public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute("Default", // Route name "{controller}.aspx/{action}/{id}", new { controller = "Home", action = "Index", id = "" } // Parameter defaults ) ); routes.MapRoute("Detail", // Route name "{controller}.aspx/{action}/{id}/{sid}", new { controller = "Home", action = "Index", id = "", sid="" } // Parameter defaults ) ); routes.MapRoute("ForGoogle", // Route name "{controller}.aspx/{action}/{friendlyUrl}/{id}/{partialName}", new { controller = "Home", action = "Index", friendlyUrl = "", id = "", partialName =""} // Parameter defaults ) ); routes.MapRoute( "PostFeed", "Feed/{type}", new { controller = "Product", action = "PostFeed", type = "rss" } ); }

    Read the article

  • [Java] Type safety: Unchecked cast from Object

    - by Matthew
    Hi, I try to cast an object to my Action class, but it results in a warning: Type safety: Unchecked cast from Object to Action<ClientInterface> Action<ClientInterface> action = null; try { Object o = c.newInstance(); if (o instanceof Action<?>) { action = (Action<ClientInterface>) o; } else { // TODO 2 Auto-generated catch block throw new InstantiationException(); } [...] Thank you for any help

    Read the article

  • How to redirect to a controller action from a JsonResult method in asp.net mvc?

    - by Pandiya Chendur
    I am fetching records for a user based on his UserId as a JsonResult... public JsonResult GetClients(int currentPage, int pageSize) { if (Session["UserId"] != "") { var clients = clirep.FindAllClients().AsQueryable(); var count = clients.Count(); var results = new PagedList<ClientBO>(clients, currentPage - 1, pageSize); var genericResult = new { Count = count, Results = results }; return Json(genericResult); } else { //return RedirectToAction("Index","Home"); } } How to redirect to a controller action from a JsonResult method in asp.net mvc?Any suggestion...

    Read the article

  • Is POSTing a Dictionary to an .NET MVC action possible?

    - by Brenton Alker
    I have a form which contains a series of fields like: <input type="text" name="User[123]" value="Alice" /> <input type="text" name="User[456]" value="Bob" /> ... Where the index of the User array (123 and 456) are ID's associated with the value. I'm trying to update these values in the controller. My thinking is that a Dictionary that maps ID to name would work, but creating the action like: public void Save(Dictionary<string, string> user) { // ... } results in the user parameter being null. So, is passing a Dictionary possible? or, is there another method to achieve this?

    Read the article

  • I need to create Trigger for delete action which backsup all fields old value in audit table

    - by Parth
    I need to create Trigger for delete action which backsup all fields old value in audit table. I have a table structure for audit table as id, menuid, field, oldvalue, changedone now whenever any of the row is deleted from its mother table(menu) having 21 fields in count, every fields old value should get insert in the audit table with new audit id.. like If I delete a row having fields as: menuid, name, age, address, sex, town now in audit table 6 rows should get inserted seperately for every field given above as: AUdit Table: id=2(audittable id) menuid = menuid field = name oldvalue = joy changedone = (whatever the deleted time was) id=3(audittable id) menuid = menuid field = age oldvalue = 23 changedone = (whatever the deleted time was) an so on..

    Read the article

  • How to Cache image when src is some action which returns image?

    - by Bipul
    There are lots of questions about how to force the browser to cache or not to cache any image. But, I am facing slightly different situation. In several places of my web page, I am using following code for the images. <img title="<%= Html.Encode(Model.title)%>" src="<%= Url.Action(MVC.FrontEnd.Actions.RetrieveImage(Model.SystemId))%>"/> So, in the generated HTML it is like <img title="blahblah" src="http://xyz.com/FrontEnd/Actions/RetrieveImage?imageId=X"> Where X is some integer. I have seen that though the browser (IE or Mozilla) caches images by default, it is not caching images generated by above method. Is there any way I can tell browser to cache images of above type? Thanks in advance.

    Read the article

  • Trigger an action to increment all rows of an int column which are greater than or equal to the inserted row

    - by Dev
    I am performing some insertion to an SQL table with has three columns and several rows of data The three columns are Id,Product,ProductOrder with the following data Id Product ProductOrder 1 Dell 1 2 HP 3 3 lenovo 2 4 Apple 10 Now, I would like a trigger which fires an action and increments all the ProductOrders by 1which are greater than or equal to the inserted ProductOrder. For example, I am inserting a record with Id=5 Product=Sony, ProductOrder=2 Then it should look for all the products with ProductOrder greater than or equal to 2 and increment them by 1. So, the resultant data in the SQL table should be as follows Id Product ProductOrder 1 Dell 1 2 HP 4 3 lenovo 3 4 Apple 11 5 Sony 2 From above we can see that ProductOrder which are equal or greater than the inserted are incremented by 1 like HP,Lenovo,Apple May I know a way to implement this?

    Read the article

  • Ruby on Rails when create method fails, render loses local variables

    - by Jimmy
    Hey guys I have a simple create method with some validations and whenever the create method fails due to validation errors it re-renders the 'new' action. The problem is in my new action/view I have a local variable that is established in the action and passed to a partial to render some related information to what the user is creating. Now when my create action fails and I try to re-render the 'new' action I'm getting the always awesome undefined method `cover' for nil:NilClass error. What is the best way to handle re-establishing my action's local variables on a render instead of redirecting to the action again and the user losing the data they input?

    Read the article

  • ValidateRequest = False but in action it's still True and ignored that?

    - by Sadegh
    hi guy's, i want disable RequestValidation on particular view in ASP.NET MVC 2.0 RTM. so i added some necessary to view Page directive section as below: <%@ Page ValidateRequest="false" Language="C#" MasterPageFile="Path" Inherits="System.Web.Mvc.ViewPage<Path>" %> but RequestValidation isn't Disabled! i also added RequestValidation Attribute to related action in controller as below: [System.Web.Mvc.ValidateInput(false)] public System.Web.Mvc.ActionResult Create(Model instance) { //Do here something } :') but RequestValidation isn't Disabled too! in last try i set RequestValidation to false in Web.config file as below: <pages validateRequest="false" /> RequestValidation still isn't turned off! Why? thank's in advance ;)

    Read the article

  • How to modify posted form data within controller action before sending to view?

    - by Gary
    I want to render the same view after a successful action (rather than use RedirectToAction), but I need to modify the model data that is rendered to that view. The following is a contrived example that demonstrates two methods that that do not work: [AcceptVerbs("POST")] public ActionResult EditProduct(int id, [Bind(Include="UnitPrice, ProductName")]Product product) { NORTHWNDEntities entities = new NORTHWNDEntities(); if (ModelState.IsValid) { var dbProduct = entities.ProductSet.First(p => p.ProductID == id); dbProduct.ProductName = product.ProductName; dbProduct.UnitPrice = product.UnitPrice; entities.SaveChanges(); } /* Neither of these work */ product.ProductName = "This has no effect"; ViewData["ProductName"] = "This has no effect either"; return View(product); } Does anyone know what the correct method is for accomplishing this?

    Read the article

  • class method as hash value

    - by demas
    I have this working code: class Server def handle(&block) @block = block end def do @block.call end end class Client def initialize @server = Server.new @server.handle { action } end def action puts "some" end def call_server @server.do end end client = Client.new client.call_server My Server will handle more then one action so I want to change code such way: class Server def handle(options) @block = options[:on_filter] end def do @block.call end end class Client def initialize @server = Server.new my_hash = { :on_filter => action } @server.handle(my_hash) end def action puts "some" end def call_server @server.do end end client = Client.new client.call_server It is incorrect code because action() method calls on create my_hash, but if I try to modify code to: my_hash = { :on_filter => { action } } i get error message. Is it possible to create hash with methods as hash values ?

    Read the article

  • How to properly override Drupal imagecache presets

    - by volocuga
    Say I need to override defaul presets, provided by Ubercart module. This is what I wrote: function config_imagecache() { $presets = array( array( 'presetname' => 'product', 'actions' => array( array( 'action' => 'imagecache_crop', 'data' => array('width' => 300, 'height' => ''), 'weight' => 0, 'module' => 'imagecache', ), array( 'action' => 'canvasactions_canvas2file', 'data' => array('xpos' => 'center', 'ypos' => 'center', 'path' => 'actions/pad_300_300.gif', 'dimensions' => 'background',), 'weight' => 1, 'module' => 'imagecache_canvasactions', ), ), ), array( 'presetname' => 'uc_thumbnail', 'actions' => array( array( 'action' => 'imagecache_scale', 'data' => array('width' => 55, 'height' => 55, 'upscale' => 0), 'weight' => 0, 'module' => 'imagecache', ), array( 'action' => 'canvasactions_canvas2file', 'data' => array('xpos' => 'center','ypos' => 'center', 'path' => 'actions/pad_60_60.gif','dimensions' => 'background'), 'weight' => 1, 'module' => 'imagecache_canvasactions', ), ), ), array( 'presetname' => 'product_full', 'actions' => array( array( 'action' => 'imagecache_scale', 'data' => array('width' => 600, 'height' => 600, 'upscale' => 0), 'weight' => 0, 'module' => 'imagecache', ), ), ), array( 'presetname' => 'product_list', 'actions' => array( array( 'action' => 'imagecache_scale', 'data' => array('width' => 100, 'height' => 100, 'upscale' => 0), 'weight' => 0, 'module' => 'imagecache', ), array( 'action' => 'canvasactions_canvas2file', 'data' => array('xpos' => 'center', 'ypos' => 'center', 'path' => 'actions/pad_100_100.jpg','dimensions' => 'background',), 'weight' => 1, 'module' => 'imagecache_canvasactions', ), ), ), array( 'presetname' => 'uc_category', 'actions' => array( array( 'action' => 'imagecache_scale', 'data' => array('width' => 100, 'height' => 100, 'upscale' => 0), 'weight' => 0, 'module' => 'imagecache', ), array( 'action' => 'canvasactions_canvas2file', 'data' => array('xpos' => 'center', 'ypos' => 'center', 'path' => 'actions/pad_100_100.gif', 'dimensions' => 'background',), 'weight' => 1, 'module' => 'imagecache_canvasactions', ), ), ), array( 'presetname' => 'cart', 'actions' => array( array( 'action' => 'imagecache_scale', 'data' => array('width' => 50, 'height' => 50, 'upscale' => 0), 'weight' => 0, 'module' => 'imagecache', ), array( 'action' => 'canvasactions_canvas2file', 'data' => array('xpos' => 'center', 'ypos' => 'center', 'path' => 'actions/pad_60_60.gif', 'dimensions' => 'background',), 'weight' => 1, 'module' => 'imagecache_canvasactions', ), ), ), ); foreach ($presets as $preset) { drupal_write_record('imagecache_preset', $preset); foreach ($preset['actions'] as $action) { $action['presetid'] = $preset['presetid']; drupal_write_record('imagecache_action', $action); } } imagecache_presets(true); cache_clear_all('imagecache:presets', 'cache'); } I can see in imagecache UI the settings was applied, but really images disappeared at all. Nothing works now. Where is the mistake?

    Read the article

  • An image cropper: How to prevent the default drag n' drop action?

    - by David Gore
    I am developing an image cropper and would like to ask you the following question: In order to prevent the default drag n' drop action when you press the left button on an image and keeping it pressed try to move the mouse, wouldn't it be cross-browser if to just use the picture as a background to a div box? Just like so: <div id="theDiv" style="background:url(pic.png) no-repeat;"></div> How do you think? Is it acceptable? Not too ugly? Or should be done with JS?

    Read the article

  • What action is my Symfony/Doctrine generated form actually going to?

    - by Arms
    In my Symfony 1.4 project I am using the doctrine:generate-admin task to create the modules that compose my backend system. One such module is "journeys". When I view the source of the "journeys/new" page (which displays the form to create a new journey entity) the action of the form is simply "journeys" (I expected it to be "journeys/create"). The "journeys" route on its own would call the executeIndex method - however I put a log call in there and upon form submission, the log is not made. So this leads me to believe that executeIndex is NOT being called, and another piece of code is being fired upon form submission that then (depending on a hidden input in the form) calls either executeCreate() or executeUpdate(). Problem is, I don't know where that would be happening. Any insight would be much appreciated. I don't if this is relevant, but here is the routing definition for the journeys module journey: class: sfDoctrineRouteCollection options: model: journey module: journeys prefix_path: /journeys column: id with_wildcard_routes: true Thanks!

    Read the article

  • Can a webflow's action state have multiple redirects on success?

    - by callie16
    Say, I have this type of webflow: def myFlow = { state1 { } on("next").to("stateAct") stateAct { action { ... DB stuff ... } } on("success").to("state2") state2 { } on("prev").to("state1") } Now, the contents of "stateAct" is common between state1 and state2. Meaning, if I press "next" from state1, I need to pass by stateAct before I can go to state2 (which is the current implementation) and if I press "prev" in state2, I need it to pass by stateAct before it goes to state1. Obviously, in the sample webflow above, it doesn't do the latter. So, my question is, is there a way to detect in stateAct who called it (state1 or state2) so that I can redirect accordingly on "success"? Or something similar to that behavior? Thanks! -Lee

    Read the article

  • Url does not change in display when redirecting

    - by zsharp
    action: User/Details View: Details In my 'Details' view, a user can click on an actionlink that goes to the action :User/UserBehavior From which I again return a "Details" View. the url shows http://User/UserBehavior If I return redirectToAction to the Details action, I still get the "UserBehavior" action in the url. how do I redirect and present the new url of the action? isnt that the way its supposed to be? TO CLARIFY: WHEN YOU USE REDIRECTTOACTION, SHOULD THE URL IN THE BROWSER SHOW THE ORIGINAL ACTION OR THE ACTION YOU REDIRECTED TO?

    Read the article

  • how to make this "action-packed, random data" being echoed in a terminal?

    - by RiMMER
    OK, this isn't really a question to achieve anything practical, but still it is a serious question and I hope it will be taken seriously and mods won't punish me for this :) I'm sure majority of you have seen some good action movie, where CIA or FBI or hackers or any other "pc nerds" are "retrieving some information" and when they actually show their screens/monitors/desktops, there is a lot of random data being displayed and it's just so thrilling :D So, we're shooting a movie and I need to reconstruct such a scene. My OS is ubuntu 10.10. I think i've read somewhere on the internet once that shell can actually be recorded and then played back, but I'm not sure how it worked. If there's anyone who could come up with a solution, it would be so cool! Let's make this fun, shall we?

    Read the article

  • How to use RedirectToAction to redirect to the default action of different controller?

    - by atbebtg
    I am trying to do a RedirectToAction from http://mywebsite/Home/ using the following code: return RedirectToAction("Index","Profile", new { id = formValues["id"] }); The above code will succesfully take me to http://mywebsite/Profile/Index/223224 What do I have to do to make it redirect to http://mywebsite/Profile/223224 Thank you. I figured out how to do this. First I have to add custom route rule: routes.MapRoute("Profile", "Profile/{id}", new { controller = "Profile", action = "Index", id = UrlParameter.Optional }); Then I can do the following: [AcceptVerbs(HttpVerbs.Post)] public RedirectResult Index(FormCollection formValues) { return Redirect("~/Survey/" + formValues["Id"]); }

    Read the article

  • How do I create if statements in php to perform a specific action depending on what form has string in it

    - by user1637284
    Im trying to create a grid on my page in each cell there will be a simple one line form. If a person enters data into lets say FieldA I would like the php to perform actionA but if the data was entered in FieldF I would like actionF performed. Is this possible without having to create a php for each cell and upload all those php files? Or is there a way to perform the GET method in each form to append the data to the end of the action url without the field name showing (ie sample.com/somestuff/fieldA instead of sample.com/somestuff/fieldname=fieldA) thus not needing php at all?

    Read the article

  • How do I link to another action in Magento whilst passing a parameter to the controller?

    - by desbest
    I need to pass a parameter, because I would like to redirect back to the module and query string of the current page. So I can get from showdown/index?id=35 --click--- showdown/vote?id=1 showdown/vote?id=1 --redirect-- showdown/index?id=35 The vote action is not seen. (The redirect method doesn't work as it takes the index.php url only and no actions, and I cannot find a helper in Magento for creating hyperlinks.) Does Magneto have a link helper for this? Example of stuff I want: <a href="<?php echo Mage::Helper->Link->($url, $array); ?> then $array or whatever variables gets sent to the controller.

    Read the article

  • ParallelWork: Feature rich multithreaded fluent task execution library for WPF

    - by oazabir
    ParallelWork is an open source free helper class that lets you run multiple work in parallel threads, get success, failure and progress update on the WPF UI thread, wait for work to complete, abort all work (in case of shutdown), queue work to run after certain time, chain parallel work one after another. It’s more convenient than using .NET’s BackgroundWorker because you don’t have to declare one component per work, nor do you need to declare event handlers to receive notification and carry additional data through private variables. You can safely pass objects produced from different thread to the success callback. Moreover, you can wait for work to complete before you do certain operation and you can abort all parallel work while they are in-flight. If you are building highly responsive WPF UI where you have to carry out multiple job in parallel yet want full control over those parallel jobs completion and cancellation, then the ParallelWork library is the right solution for you. I am using the ParallelWork library in my PlantUmlEditor project, which is a free open source UML editor built on WPF. You can see some realistic use of the ParallelWork library there. Moreover, the test project comes with 400 lines of Behavior Driven Development flavored tests, that confirms it really does what it says it does. The source code of the library is part of the “Utilities” project in PlantUmlEditor source code hosted at Google Code. The library comes in two flavors, one is the ParallelWork static class, which has a collection of static methods that you can call. Another is the Start class, which is a fluent wrapper over the ParallelWork class to make it more readable and aesthetically pleasing code. ParallelWork allows you to start work immediately on separate thread or you can queue a work to start after some duration. You can start an immediate work in a new thread using the following methods: void StartNow(Action doWork, Action onComplete) void StartNow(Action doWork, Action onComplete, Action<Exception> failed) For example, ParallelWork.StartNow(() => { workStartedAt = DateTime.Now; Thread.Sleep(howLongWorkTakes); }, () => { workEndedAt = DateTime.Now; }); Or you can use the fluent way Start.Work: Start.Work(() => { workStartedAt = DateTime.Now; Thread.Sleep(howLongWorkTakes); }) .OnComplete(() => { workCompletedAt = DateTime.Now; }) .Run(); Besides simple execution of work on a parallel thread, you can have the parallel thread produce some object and then pass it to the success callback by using these overloads: void StartNow<T>(Func<T> doWork, Action<T> onComplete) void StartNow<T>(Func<T> doWork, Action<T> onComplete, Action<Exception> fail) For example, ParallelWork.StartNow<Dictionary<string, string>>( () => { test = new Dictionary<string,string>(); test.Add("test", "test"); return test; }, (result) => { Assert.True(result.ContainsKey("test")); }); Or, the fluent way: Start<Dictionary<string, string>>.Work(() => { test = new Dictionary<string, string>(); test.Add("test", "test"); return test; }) .OnComplete((result) => { Assert.True(result.ContainsKey("test")); }) .Run(); You can also start a work to happen after some time using these methods: DispatcherTimer StartAfter(Action onComplete, TimeSpan duration) DispatcherTimer StartAfter(Action doWork,Action onComplete,TimeSpan duration) You can use this to perform some timed operation on the UI thread, as well as perform some operation in separate thread after some time. ParallelWork.StartAfter( () => { workStartedAt = DateTime.Now; Thread.Sleep(howLongWorkTakes); }, () => { workCompletedAt = DateTime.Now; }, waitDuration); Or, the fluent way: Start.Work(() => { workStartedAt = DateTime.Now; Thread.Sleep(howLongWorkTakes); }) .OnComplete(() => { workCompletedAt = DateTime.Now; }) .RunAfter(waitDuration);   There are several overloads of these functions to have a exception callback for handling exceptions or get progress update from background thread while work is in progress. For example, I use it in my PlantUmlEditor to perform background update of the application. // Check if there's a newer version of the app Start<bool>.Work(() => { return UpdateChecker.HasUpdate(Settings.Default.DownloadUrl); }) .OnComplete((hasUpdate) => { if (hasUpdate) { if (MessageBox.Show(Window.GetWindow(me), "There's a newer version available. Do you want to download and install?", "New version available", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes) { ParallelWork.StartNow(() => { var tempPath = System.IO.Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Settings.Default.SetupExeName); UpdateChecker.DownloadLatestUpdate(Settings.Default.DownloadUrl, tempPath); }, () => { }, (x) => { MessageBox.Show(Window.GetWindow(me), "Download failed. When you run next time, it will try downloading again.", "Download failed", MessageBoxButton.OK, MessageBoxImage.Warning); }); } } }) .OnException((x) => { MessageBox.Show(Window.GetWindow(me), x.Message, "Download failed", MessageBoxButton.OK, MessageBoxImage.Exclamation); }); The above code shows you how to get exception callbacks on the UI thread so that you can take necessary actions on the UI. Moreover, it shows how you can chain two parallel works to happen one after another. Sometimes you want to do some parallel work when user does some activity on the UI. For example, you might want to save file in an editor while user is typing every 10 second. In such case, you need to make sure you don’t start another parallel work every 10 seconds while a work is already queued. You need to make sure you start a new work only when there’s no other background work going on. Here’s how you can do it: private void ContentEditor_TextChanged(object sender, EventArgs e) { if (!ParallelWork.IsAnyWorkRunning()) { ParallelWork.StartAfter(SaveAndRefreshDiagram, TimeSpan.FromSeconds(10)); } } If you want to shutdown your application and want to make sure no parallel work is going on, then you can call the StopAll() method. ParallelWork.StopAll(); If you want to wait for parallel works to complete without a timeout, then you can call the WaitForAllWork(TimeSpan timeout). It will block the current thread until the all parallel work completes or the timeout period elapses. result = ParallelWork.WaitForAllWork(TimeSpan.FromSeconds(1)); The result is true, if all parallel work completed. If it’s false, then the timeout period elapsed and all parallel work did not complete. For details how this library is built and how it works, please read the following codeproject article: ParallelWork: Feature rich multithreaded fluent task execution library for WPF http://www.codeproject.com/KB/WPF/parallelwork.aspx If you like the article, please vote for me.

    Read the article

< Previous Page | 37 38 39 40 41 42 43 44 45 46 47 48  | Next Page >