PDA

View Full Version : نحوه پاس دادن پارامتر به اکتیوایکس



Saeed_m_Farid
دوشنبه 30 دی 1387, 12:29 عصر
سلام
من تو سی بیلدر یه { ocx { ActiveX نوشتم {نحوه دانلود ActiveX‌ سفارشي در وب سايت؟ (http://barnamenevis.org/forum/showthread.php?t=143474) } که البته مشکلات ذکر شده تو پست اخیر کاملا حل شدن و الان تو برنامه های دسکتاپ داره کار میکنه ولی وقتی تو یه وب سایت دارم ازش استفاده میکنم یه مشکلی دارم : نمیتونم به متدها و اعضاء این اکتیوایکس دسترسی پیدا کنم و یا پارامتری رو به اون پاس بدم! و در واقع اصلا آبجکت مورد نظر یه هندل درست حسابی و قابل دسترسی تو ASP.Net به من نمیده که هرجوری هم تست کردم (با سی شارپ، جاوا اسکریپت و ...) و مدتیه که دارم با گشتن تو سایتهای مختلف درواقع دور خودم میچرخم!
تو اینجا (http://www.experts-exchange.com/Programming/Languages/CPP/Q_20176203.html) (واسه BCB) و اینجا (http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_20578481.html) (واسه دلفی) یه توضیحی داده شده بود که من تو اکتیوایکسم اینکارها رو انجام دادم ولی هیچ اتفاقی نیافتاد، البته یه چیزای عجیب غریب داره که نمیدونم لازمه اونها رو هم به سی بیلدر کانورت کنم یا نه؟ مثلا کد زیر تو دلفی که داره متدهای یه اینترفیس که implement نشده رو انتساب میده، نمیدونم دلفی چطور اینو کامپایل میکنه؟

Add interface to IPersistPropertyBag, e.g.

TMyActiveForm = class(TActiveForm, IMyActiveForm, IPersistPropertyBag) <-- add this!

then implement all these as protected

function IPersistPropertyBag.Load = PersistPropertyBagLoad;
function IPersistPropertyBag.Save = PersistPropertyBagSave;
function IPersistPropertyBag.InitNew = PersistPropertyBagInitNew;
function IPersistPropertyBag.GetClassID = PersistPropertyBagGetClassID;
function PersistPropertyBagLoad(const pPropBag: IPropertyBag;
const pErrorLog: IErrorLog): HResult; stdcall;
function PersistPropertyBagSave(const pPropBag: IPropertyBag; fClearDirty: BOOL;
fSaveAllProperties: BOOL): HResult; stdcall;
function PersistPropertyBagGetClassID(out classID: TCLSID): HResult; stdcall;
function PersistPropertyBagInitNew: HResult; stdcall;


... and the code
کاری که کردم تو سمت ASP.Net تو #C این بوده که یه پارامتر به آبجکت اضافه کردم تا بتونم سمت اکتیوایکس اون پارامتر رو استفاده کنم :

<object id="MyObject" classid="clsid:DE6AF47A-xxx-xxxx-xxxx-xxxxxxxxxxxx"
codebase="http://MyLocation/TMyObjectPrj.ocx#VERSION=1.0.0.9"
standby="Loading ...">
<param name="mylink" value="http://MyLocation/01/01/2009/MyFile.tmp" id=1>



:متفکر: خلاصه اش : من فقط نیاز دارم که یه Edit از اکتیوایکس (آبجکت اضافه شده به فرم وب) رو مقداردهی کنم ، البته واسش یه property هم نوشتم و بدون مشکل میشه این عضو (و سایر توابع و اعضاء!!!) رو از برنامه های دسکتاپ مقداردهی کرد؛ میخوام پارامتری رو به این آبجکت پاس بدم (حالا هر سمتی که شد) : ولی تا اونجایی که میدونم نمیشه سمت ASP.Net به اکتیوایکس دستیابی داشت.

ممنون از دوستان عزیزی که تجربه ای در این زمینه دارن و کمک می کنن...

Saeed_m_Farid
پنج شنبه 10 بهمن 1387, 02:26 صبح
من فقط نیاز دارم که یه Edit از اکتیوایکس (آبجکت اضافه شده به فرم وب) رو مقداردهی کنمنيست ياري كننده اي كه مرا ياري كند؟
هَل مِن ناصِرِ يَنصُرَني؟
Can anyone help me?
Quelqu'un peut m'aider?
Chiunque può aiutarmi?
Bana yardim edan var mi?
Может ли кто мне помочь?

آثار هنري :

I : دوست آن باشد كه گيرد دست دوست، در پريشان حالي و درماندگي ...
II: غير أنه يود أن يكون صديقه وتصرف واليأس حين
It would like to be his friend, while distracted and helplessness :III
Она хотела бы, чтобы его друга, хотя отвлекаться и беспомощности :IV