inally ﺩﺭ ﺳﯽ ﺷﺎﺭﭖ ﭼﻪ ﺯﻣﺎﻧﯽ ﺍﺟﺮﺍ ﻧﻤﯽﺷﻮﺩ؟

نام کاربری : پسورد : یا عضویت | رمز عبور را فراموش کردم



ارسال پاسخ
تعداد بازدید 150
نویسنده پیام
zohreh1371 آفلاین

مدیرکل انجمن
ارسال‌ها : 1194
عضویت: 3 /5 /1392
محل زندگی: خرم آباد
سن: 20
شناسه یاهو: enayat_zohreh
تشکرها : 173
تشکر شده : 33
inally ﺩﺭ ﺳﯽ ﺷﺎﺭﭖ ﭼﻪ ﺯﻣﺎﻧﯽ ﺍﺟﺮﺍ ﻧﻤﯽﺷﻮﺩ؟
ﻋﻤﻮﻣﺎ ﺍﺯ ﮐﺪﻫﺎﯼ ﻗﺮﺍﺭ ﮔﺮﻓﺘﻪ ﺩﺭ ﻗﻄﻌﻪ finally ﺟﻬﺖ ﺁﺯﺍﺩ ﺳﺎﺯﯼ ﻣﻨﺎﺑﻊ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﺷﻮﺩ ﻭ ﺗﻀﻤﯿﻦ ﺷﺪﻩ ﺍﺳﺖ ﮐﻪ ﺍﯾﻦ ﻗﻄﻌﻪ ﻫﻤﻮﺍﺭﻩ
ﺍﺟﺮﺍ ﻣﯽﮔﺮﺩﺩ، ﺻﺮﻓﻨﻈﺮ ﺍﺯ ﺍﯾﻨﮑﻪ ﺁﯾﺎ ﺩﺭ ﻗﻄﻌﻪ try ﺍﺳﺘﺜﻨﺎﯾﯽ ﺭﺥ ﺩﺍﺩﻩ ﺍﺳﺖ ﯾﺎ ﺧﯿﺮ.
 ﺍﻣﺎ ﻣﺜﺎﻝ ﺯﯾﺮ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ:
using System;
namespace testWinForms87
{
 class CTestFinally
 {
 public static void Run()
 {
 try
 {
 TryAndTry();
 }
 catch (Exception exError)
 {
 Console.WriteLine(exError.Message);
 }
 finally
 {
 Console.WriteLine(\"Finally...!\");
 }
 Console.ReadKey();
 }
 static void TryAndTry()
 {
 try
 {
 TryAndTry();
 }
 catch (Exception exError)
 {
 Console.WriteLine(exError.Message);
 }
 finally
 {
 Console.WriteLine(\"Try: Finally...!\");
 }
 }
 }
}
 ﺩﺭ ﺍﯾﻦ ﮐﺪ ﺑﻪ ﻋﻠﺖ ﺑﺮﻭﺯ stack overflow ﻫﯿﭽﮕﺎﻩ ﺑﻪ finally ﻧﺨﻮﺍﻫﯿﻢ ﺭﺳﯿﺪ.

امضای کاربر :
هـمـه گفـتـند :"او" کـه رفــت ،
زنـدگی کــن !
ولـــی... کـسـی درک نـکـرد
کــه"او" ... خـود زنــدگــی ام بــود..
پنجشنبه 01 خرداد 1393 - 10:49
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
zohreh1371 آفلاین


مدیرکل انجمن
ارسال‌ها : 1194
عضویت: 3 /5 /1392
محل زندگی: خرم آباد
سن: 20
شناسه یاهو: enayat_zohreh
تشکرها : 173
تشکر شده : 33
ﺭﺳﻢ ﮔﺮﺍﻑ
ﮐﺘﺎﺑﺨﺎﻧﻪﻫﺎﯼ ﺯﯾﺎﺩﯼ ﺑﺮﺍﯼ ﺭﺳﻢ ﮔﺮﺍﻑ ﻭﺟﻮﺩ ﺩﺍﺭﻧﺪ ﻣﻨﺠﻤﻠﻪ mxGraph ﮐﻪ ﺑﺮﺍﯼ ﺍﺳﺘﻔﺎﺩﻩ ﻏﯿﺮﺗﺠﺎﺭﯼ ﺭﺍﯾﮕﺎﻥ ﻭ ﺳﻮﺭﺱ ﺑﺎﺯ ﺍﺳﺖ.
mxGraph ﻧﮕﺎﺭﺵﻫﺎﯼ PHP ، Java ﻭ JavaScript ﺍﯾﯽ ﻧﯿﺰ ﺩﺍﺭﺩ ﮐﻪ ﺑﻪ ﻫﻤﺮﺍﻩ ﺑﺴﺘﻪ ﻣﺮﺑﻮﻃﻪ ﺍﺭﺍﺋﻪ ﻣﯽﺷﻮﻧﺪ.
 ﭘﺲ ﺍﺯ ﺩﺭﯾﺎﻓﺖ ﺁﻥ، ﺩﺭ ﻓﻮﻟﺪﺭﯼ ﺑﻪ ﻧﺎﻡ dotnet ﻣﯽﺗﻮﺍﻧﯿﺪ ﺳﻮﺭﺱ ﮐﺘﺎﺑﺨﺎﻧﻪ ﻣﺮﺑﻮﻁ ﺑﻪ ﺩﺍﺕ ﻧﺖ ﻓﺮﯾﻢ ﻭﺭﮎ ﺁﻥﺭﺍ ﺩﺭﯾﺎﻓﺖ ﮐﻨﯿﺪ.
 ﻓﺎﯾﻞ ﭘﺮﻭﮊﻩﯼ VS.Net ﺭﺍ ﺩﺭ ﺁﻥ ﻓﻮﻟﺪﺭ ﻧﺨﻮﺍﻫﯿﺪ ﯾﺎﻓﺖ. ﺣﺘﯽ ﺁﻥﺭﺍ ﮐﺎﻣﭙﺎﯾﻞ ﻫﻢ ﻧﮑﺮﺩﻩﺍﻧﺪ. (ﺍﺣﺘﻤﺎﻻ ﺑﻪ ﺍﯾﻦ ﺩﻟﯿﻞ ﮐﻪ ﮐﺴﯽ ﻧﭙﺮﺳﺪ ﺍﯾﻦ
ﭘﺮﻭﮊﻩ ﺑﺎ ﭼﻪ ﻣﺤﺼﻮﻟﯽ ﺗﻮﻟﯿﺪ ﺷﺪﻩ ﻭ ﺁﯾﺎ ﻻﯾﺴﻨﺲ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺁﻥ ﺭﺍ ﺩﺍﺭﯾﺪ ﯾﺎ ﺧﯿﺮ. ﺍﯾﻦ ﻫﻢ ﯾﮏ ﺭﻭﺵ ﺍﺳﺖ ...)
 ﺑﺮﺍﯼ ﮐﺎﻣﭙﺎﯾﻞ ﺁﻥ، ﯾﮏ ﭘﺮﻭﮊﻩ library ﺟﺪﯾﺪ ﺭﺍ ﺩﺭ VS.Net ﺁﻏﺎﺯ ﮐﺮﺩﻩ ﻭ ﭘﻮﺷﻪﻫﺎﯼ ﻣﻮﺟﻮﺩ ﺩﺭ ﭘﻮﺷﻪﯼ dotnet ﺭﺍ ﺑﻪ ﺁﻥ ﺍﻓﺰﻭﺩﻩ ﻭ
ﺳﭙﺲ ﺁﻥﺭﺍ ﮐﺎﻣﭙﺎﯾﻞ ﮐﻨﯿﺪ ﺗﺎ ﻓﺎﯾﻞ mxGraph.dll ﺗﻮﻟﯿﺪ ﺷﻮﺩ.
 ﯾﮏ ﻣﺜﺎﻝ ﺳﺎﺩﻩ ﺍﺯ ﻧﺤﻮﻩﯼ ﺍﺳﺘﻔﺎﺩﻩﯼ ﺁﻥ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺍﺳﺖ ﮐﻪ ﻓﺎﯾﻞ test.png ﺭﺍ ﺗﻮﻟﯿﺪ ﺧﻮﺍﻫﺪ ﮐﺮﺩ.
using System;
using System.Drawing;
using System.Windows.Forms;
using com.mxgraph;
using System.Drawing.Imaging;
 void Test1()
 {
 // Creates graph with model
 mxGraph graph = new mxGraph();
 Object parent = graph.GetDefaultParent();
 // Adds cells into the graph
 graph.Model.BeginUpdate();
 try
 {
 Object v1 = graph.InsertVertex(parent, null, "30 ,80 ,20 ,20 ,"ﺳﻼﻡ,
"strokeColor=#FFCF8A;fillColor=#FFCF8A;gradientColor=white;fontBold=true;fontFamily=tahoma;rounded=true
;shadow=true;shape=ellipse");
 Object v2 = graph.InsertVertex(parent, null, "!30 ,80 ,150 ,200 ,"ﻇﺎﻟﻢ ﺩﻧﯿﺎﯼ,
"rounded=true;shadow=true;fontFamily=tahoma");
 Object e1 = graph.InsertEdge(parent, null, "e1", v1, v2, "fontFamily=tahoma");
 }
 finally
 {
 graph.Model.EndUpdate();
 }
 mxCellRenderer.CreateImage(graph, null, 1,
 Color.White, true, null).Save("test.png", ImageFormat.Png);
 }
۱/
۴ﺭﺳﻢ ﮔﺮﺍﻑ
 ﻭ ﯾﺎ ﺍﮔﺮ ﻗﺼﺪ ﺩﺍﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ ﺍﺯ ﺁﻥ ﺩﺭ ASP.Net ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﯿﺪ، ﯾﮏ generic handler ﺭﺍ ﺑﻪ ﭘﺮﻭﮊﻩ ﺧﻮﺩ ﺍﻓﺰﻭﺩﻩ (ﻣﺜﻼ
ImageHandler.ashx) ﻭ ﮐﺪ ﺁﻥﺭﺍ ﺑﺮﺍﯼ ﻣﺜﺎﻝ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺗﻐﯿﯿﺮ ﺩﻫﯿﺪ:
using System;
using System.Web;
using com.mxgraph;
using System.Drawing;
using System.Web.Services;
using System.IO;
using System.Drawing.Imaging;
namespace test
{
 [WebService(Namespace = "http://tempuri.org/")]
 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
 public class ImageHandler : IHttpHandler
 {
 public void ProcessRequest(HttpContext context)
 {
 // Creates graph with model
 mxGraph graph = new mxGraph();
 Object parent = graph.GetDefaultParent();
 // Adds cells into the graph
 graph.Model.BeginUpdate();
 try
 {
 Object v1 = graph.InsertVertex(parent, null, "30 ,80 ,20 ,20 ,"ﺳﻼﻡ,
"strokeColor=#FFCF8A;fillColor=#FFCF8A;gradientColor=white;fontBold=true;fontFamily=tahoma;rounded=true
;shadow=true;shape=ellipse");
 Object v2 = graph.InsertVertex(parent, null, "!30 ,80 ,150 ,200 ,"ﻇﺎﻟﻢ ﺩﻧﯿﺎﯼ,
"rounded=true;shadow=true;fontFamily=tahoma");
 Object e1 = graph.InsertEdge(parent, null, "e1", v1, v2, "fontFamily=tahoma");
 }
 finally
 {
 graph.Model.EndUpdate();
 }
 Image image = mxCellRenderer.CreateImage(graph, null, 1, Color.White, true, null);
 // Render BitMap Stream Back To Client
 MemoryStream memStream = new MemoryStream();
 image.Save(memStream, ImageFormat.Png);
 memStream.WriteTo(context.Response.OutputStream);
 }
 public bool IsReusable
 {
 get
 {
 return false;
 }
 }
۲/
۴ﺭﺳﻢ ﮔﺮﺍﻑ
 }
}
 ﺍﮐﻨﻮﻥ ﻧﺤﻮﻩ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺍﯾﻦ handler ﺩﺭ ﯾﮏ ﺻﻔﺤﻪ ﻭﺏ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺍﺳﺖ:


امضای کاربر :
هـمـه گفـتـند :"او" کـه رفــت ،
زنـدگی کــن !
ولـــی... کـسـی درک نـکـرد
کــه"او" ... خـود زنــدگــی ام بــود..
پنجشنبه 01 خرداد 1393 - 10:50
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
ارسال پاسخ



برای ارسال پاسخ ابتدا باید لوگین یا ثبت نام کنید.


پرش به انجمن :

Powered by Tem98 | Copyright © 2009 Rozblog Group