آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 13 از 13

موضوع: تداخل متغیرها در کامپیوترهای تحت شبکه

  1. #1
    کاربر سایت saber1366 آواتار ها
    تاریخ عضویت
    February 2015
    نوشته ها
    36
    تشکر ها
    3
    تشکر شده 0 بار در 0 ارسال.

    تداخل متغیرها در کامپیوترهای تحت شبکه

    سلام دوستان
    به کمکتون فوری احتیاج دارم
    من یک برنامه اینتراوب نوشتم و روی یکی از کامپیوترهای اداره قرار دادم وقتی از طریق کامپیوترهای دیگه تحت شبکه اون برنامه رو رو توی مرورگر باز میکنم اجرا میشود.
    اما مشکل من اینه وقتی توی کامپیوتر 1 متغیری را مقدار میدم توی کامپیوتر 2 هم وقتی میخوام عملی را انجام بدم مقداری که توسط کامپیوتر 1 تغییر پیدا کرده بود اعمال میشه و کلا محاسباتم بهم میریزه.
    مگه اینتراوب نباید برای هر session که باز میشود متغیرها را اختصاصی برای همون کامپیوتر نگه دارد؟
    لطفا هر کسی میتونه راهنماییم کنه چطور این مشکل را حل کنم اصلا زمان ندارم.
    با تشکر

  2. #2
    مدیر انجمن mkarimpour آواتار ها
    تاریخ عضویت
    January 2014
    محل سکونت
    تهران
    سن
    10
    نوشته ها
    19
    تشکر ها
    0
    تشکر شده 21 بار در 13 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    با سلام بستگی داره که شما متغیر رو کجا تعریف کنی. منظورم اینکه در UserSession یا ServerController. در حالت اول که به ازای هر کاربره و دومی به ازای برنامه یعنی کل کاربران.

  3. #3
    کاربر سایت saber1366 آواتار ها
    تاریخ عضویت
    February 2015
    نوشته ها
    36
    تشکر ها
    3
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    با تشکر از پاسختون
    من توی unit1 اینجا متغیرهامو تعریف کردم
    کد:
       var
       jadvalezafekar, jadvalesaghf : string;
       saghf: Integer;
       saghfsaat: Real;
       jamsaatezafekar, jamfarvardin, jamordibehesht, jamkhordad, saatinmah: integer;
       amalkard:Real;
       a: integer;
    
    implementation
    
    {$R *.dfm}
    از این قسمت متغیرها را بردم توی UserSessionUnit.pas ولی برنامه خطا میده که متغیرها تعریف نشده اند.
    لطفا دقیقا توضیح میدین باید کجا متغریها را کجا تعریف کنم که در تمام فرم ها شناسایی شوند و به ازای هرکاربر یک کپی از متغیر ساخته شود.
    با تشکر

  4. #4
    کاربر سایت saber1366 آواتار ها
    تاریخ عضویت
    February 2015
    نوشته ها
    36
    تشکر ها
    3
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    کسی نیست ؟؟؟؟

  5. #5
    مدیر انجمن mrtr0101 آواتار ها
    تاریخ عضویت
    April 2014
    نوشته ها
    20
    تشکر ها
    1
    تشکر شده 18 بار در 11 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    سلام
    دوست عزیز شما نمی تونید توی اینتراوب مثل برنامه های تحت ویندوز دلفی متغیر تعریف کنید . برای این کار در قسمت usersesioin (یعنی برای هر بار اجرای برنامه برای هر کار بر یا session جدا گانه متغییر تعریف کنید )
    متغیر ها را در قسمت public ذر usersession تعریف کنید مشکلتون حل می شه
    مثال
    public
    s: string;

    برای استفاده
    usersession.s:='test';

  6. #6
    کاربر سایت saber1366 آواتار ها
    تاریخ عضویت
    February 2015
    نوشته ها
    36
    تشکر ها
    3
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    با تشکر از پاسخ دوستان
    طیق راهنمایی شما متغیرم را توی UserSessionUnit تعریف کردم (تصویر 1)
    بعد توی unit2 در قسمت uses اومدم UserSessionUnit را تعریف کردم (تصویر 2)
    اما دوباره برنامه ارور میده (تصویر 3)
    لطفا بفرمایید من دارم کجا دارم اشتباه میکنم؟
    تصاوير پيوست شده تصاوير پيوست شده
    • نوع فایل: jpg 1.jpg‏ (242.4 کیلو بایت, 9 نمايش)
    • نوع فایل: jpg 2.jpg‏ (315.5 کیلو بایت, 7 نمايش)
    • نوع فایل: jpg 3.jpg‏ (316.3 کیلو بایت, 8 نمايش)

  7. #7
    مدیر انجمن mkarimpour آواتار ها
    تاریخ عضویت
    January 2014
    محل سکونت
    تهران
    سن
    10
    نوشته ها
    19
    تشکر ها
    0
    تشکر شده 21 بار در 13 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    با سلام شما متغیر رو در قسمت public کلاس TIWUserSession تعریف کرده اید. بنابراین باید از کلاس یک Instance ایجاد کنید و سپس از آن استفاده کنید.الیته این کار در فایل ServerController انجام شده است. یعنی شما می توانید از تابع UserSession موجود در ServerController استفاده کنید.
    کد:
    unit ServerController;
    
    interface
    
    uses
      SysUtils, Classes, IWServerControllerBase, IWBaseForm, HTTPApp,
      // For OnNewSession Event
      UserSessionUnit, IWApplication, IWAppForm, IW.Browser.Other, IW.Browser.Browser;
    
    type
      TIWServerController = class(TIWServerControllerBase)
        procedure IWServerControllerBaseNewSession(ASession: TIWApplication;
          var VMainForm: TIWBaseForm);
    
      private
        
      public
      end;
    
    
      function UserSession: TIWUserSession;
      function IWServerController: TIWServerController;
    
    implementation
    
    {$R *.dfm}
    
    uses
      IWInit, IWGlobal;
    
    function IWServerController: TIWServerController;
    begin
      Result := TIWServerController(GServerController);
    end;
    
    
    
    function UserSession: TIWUserSession;
    begin
      Result := TIWUserSession(WebApplication.Data);
    end;
    
    procedure TIWServerController.IWServerControllerBaseNewSession(
      ASession: TIWApplication; var VMainForm: TIWBaseForm);
    begin
      ASession.Data := TIWUserSession.Create(nil);
    end;
    
    
    initialization
      TIWServerController.SetServerControllerClass;
    
    end.

  8. #8
    کاربر سایت saber1366 آواتار ها
    تاریخ عضویت
    February 2015
    نوشته ها
    36
    تشکر ها
    3
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    سلام آقای کریم پور این کد شما گذاشتین کد داخل ServerController است.
    لطفا بفرمایید چطور باید instance ایجاد کرد؟ و در فرم های مختلف بشه ازش استفاده کرد؟
    اگر یک برنامه نمونه کوچک در حد یک متغیر بزارید که متغیر a را در قسمت public از UserSesisionUnit تعریف کرده باشید و اون متغیر را توی Unit1 مقدار دهید ممنون میشم.
    با تشکر.

  9. #9
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    38
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    نقل قول نوشته اصلی توسط saber1366 نمایش پست ها
    سلام آقای کریم پور این کد شما گذاشتین کد داخل ServerController است.
    لطفا بفرمایید چطور باید instance ایجاد کرد؟ و در فرم های مختلف بشه ازش استفاده کرد؟
    اگر یک برنامه نمونه کوچک در حد یک متغیر بزارید که متغیر a را در قسمت public از UserSesisionUnit تعریف کرده باشید و اون متغیر را توی Unit1 مقدار دهید ممنون میشم.
    با تشکر.
    بدین صورت تعریف کنید.
    کد:
      TUserSession = class
      public
       dm : TDataModule;
       UserCount: Integer;
      end;
      end;
    همچنین این آدرس رو چک کنید.
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  10. #10
    کاربر سایت saber1366 آواتار ها
    تاریخ عضویت
    February 2015
    نوشته ها
    36
    تشکر ها
    3
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    نقل قول نوشته اصلی توسط admin نمایش پست ها
    بدین صورت تعریف کنید.
    کد:
      TUserSession = class
      public
       dm : TDataModule;
       UserCount: Integer;
      end;
      end;
    همچنین این آدرس رو چک کنید.
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    اینو کد را توی کدوم فرم باید بنویسم؟
    ببخشید که من مبتدی هستم.
    آخه هر کار میکنم درست نمیشه همش مزاحم شما دوستان میشم.

  11. #11
    کاربر سایت saber1366 آواتار ها
    تاریخ عضویت
    February 2015
    نوشته ها
    36
    تشکر ها
    3
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه


  12. #12
    مدیر انجمن mkarimpour آواتار ها
    تاریخ عضویت
    January 2014
    محل سکونت
    تهران
    سن
    10
    نوشته ها
    19
    تشکر ها
    0
    تشکر شده 21 بار در 13 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    با سلام لطفا در صورت نیاز با شماره ۰۹۱۲۵۳۹۰۴۹۷ تماس بگیرید.

  13. #13
    کاربر سایت midel آواتار ها
    تاریخ عضویت
    February 2018
    نوشته ها
    1
    تشکر ها
    0
    تشکر شده 0 بار در 0 ارسال.

    پاسخ : تداخل متغیرها در کامپیوترهای تحت شبکه

    ممنونم از مطالب خوبی که بیان کردین با تجربه شخصی خودم فکر نمیکنم این متغیرهای تحت شبکه در دلفی قابل پیاده سازی باشد معمولا برای شبکه از نرم افزارهای دیگری مثل آمنت استفاده میکنند

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •