PDA

View Full Version : آموزشی : مثال کامل و جامع برای کار کردن با فلش در دلفی



Delphi_Developer
چهارشنبه 04 بهمن 1385, 17:45 عصر
سلام

تا حالا توی تاپیک های خیلی زیادی در این مورد یعنی استفاده از تویبع فلش در دلفی و ارتباط بین این دو سوال شده اما هنوز سوالاتی هست یا خیلی ها یاد نگرفتن و ...

این رو نوشتم که توش اکثر توابع رو انجام داده و خیلی خیلی سادست و راحت میشه جریانش رو فهمید - - - - - اما بازم اگه سوالی بود در خدمتم

امیدوارم به درتون بخوره



موفق باشید

www2006
چهارشنبه 04 بهمن 1385, 20:22 عصر
آقا دستت درد نکنه ...
درباره ی این دوتا یه کم بیشتر توضیح میدی ...

TShockwaveFlash و ShockwaveFlashObjects_TLB

Delphi_Developer
چهارشنبه 04 بهمن 1385, 23:27 عصر
آقا دستت درد نکنه ...
درباره ی این دوتا یه کم بیشتر توضیح میدی ...

TShockwaveFlash و ShockwaveFlashObjects_TLB


ShockwaveFlash که اسم شی (کنترل) فلش هست که ما عملیات رو توی دلفی روی اون انجام میدیم - - - ShockwaveFlashObjects_TLB دقیقا مطمئن نیستم مال چیه اما نگاه میکنم بهتون میگم

www2006
پنج شنبه 05 بهمن 1385, 20:18 عصر
ShockwaveFlash که اسم شی (کنترل) فلش هست که ما عملیات رو توی دلفی روی اون انجام میدیم - - - ShockwaveFlashObjects_TLB دقیقا مطمئن نیستم مال چیه اما نگاه میکنم بهتون میگم

وقتی من برنامه تو دلفی باز میکنم به این دو تا (و طبیعتا متغیری که از نوع ShockwaveFlash تعریف شده ) گیر میده ...
با این پیغام خطا :


Class TShockwaveFlash not found

بیشتر منظورم این بود که چطوری باید این خطا را برطرف کنم ؟؟
(کامپوننت خاصی باید نصب بشه یا .. )

Valadi
پنج شنبه 05 بهمن 1385, 23:39 عصر
شما وقتی اکتیو ایکس فلش را نصب کرد ید

www2006
جمعه 06 بهمن 1385, 11:17 صبح
شما وقتی اکتیو ایکس فلش را نصب کرد ید

من اینطوری فهمیدم که باید اکتیو ایکس فلش را نصب کنم ...
ولی نمیدونم چطور ؟ (یعنی از کجا باید بیارمش .. از تو CD ی FlashMX یا خود دلفی یا جای دیگه ؟؟)

Valadi
جمعه 06 بهمن 1385, 14:19 عصر
جناب www2006 در سایت آقای احدی یک مقاله در مورد نصب کامپونت هست که آموزش نصب اکتیو ایکس را هم دارد و ضمنا اکتیو ایکس فلش در این مسیر است
D:\WINDOWS\system32\Macromed\Flash\flash.ocx

Mahmood_M
جمعه 06 بهمن 1385, 16:32 عصر
سلام

ولی نمیدونم چطور ؟ (یعنی از کجا باید بیارمش .. از تو CD ی FlashMX یا خود دلفی یا جای دیگه ؟؟)
شما از منوی Project گزینه Import Type Library رو انتخاب کنید ، توی صفحه باز شده گزینه Shockwave Flash Object رو انتخاب کنید ، بعد رو گزینه Install کلیک کنید ...
با این کار ActiveX فلش توی دلفی نصب میشه و کامپوننتش توی صفحه مربوطه ظاهر میشه ( اگه صفحه اون رو تغییر ندید ، توی ActiveX میره ) ...
بعد با گذاشتن کامپوننت اون روی فرم می تونید ازش استفاده کنید ...

البته اکتیو ایکس فلش به شرطی در سیتم شما وجود داره که شما برنامه اون رو نصب کرده باشید ( Flash Player یا Flash MX ) یا Plugin اون برای IE یا ... نصب شده باشه که معمولا هست ...


آقا دستت درد نکنه ...
درباره ی این دوتا یه کم بیشتر توضیح میدی ...
TShockwaveFlash و ShockwaveFlashObjects_TLB

درباره اولی که دوستمون گفت ولی دومی ( ShockwaveFlashObjects_TLB ) فایلس هست که توابع و دستورات فلش توش قرار دارند که بعد از نصب اکتیو ایکس اون ، نصب میشه ... ( مثل بقیه Package ها و Component ها ) ...

موفق باشید ...

www2006
جمعه 06 بهمن 1385, 21:01 عصر
سلام

شما از منوی Project گزینه Import Type Library رو انتخاب کنید ، توی صفحه باز شده گزینه Shockwave Flash Object رو انتخاب کنید ، بعد رو گزینه Install کلیک کنید ...
با این کار ActiveX فلش توی دلفی نصب میشه و کامپوننتش توی صفحه مربوطه ظاهر میشه ( اگه صفحه اون رو تغییر ندید ، توی ActiveX میره ) ...
بعد با گذاشتن کامپوننت اون روی فرم می تونید ازش استفاده کنید ...

البته اکتیو ایکس فلش به شرطی در سیتم شما وجود داره که شما برنامه اون رو نصب کرده باشید ( Flash Player یا Flash MX ) یا Plugin اون برای IE یا ... نصب شده باشه که معمولا هست ...



درباره اولی که دوستمون گفت ولی دومی ( ShockwaveFlashObjects_TLB ) فایلس هست که توابع و دستورات فلش توش قرار دارند که بعد از نصب اکتیو ایکس اون ، نصب میشه ... ( مثل بقیه Package ها و Component ها ) ...

موفق باشید ...
من هم دقیقا همین کارو میکنم ولی فقط یک Unit باز میشه بنام ShockwaveFlashObjects_TLB.pas
که امکان compile و install نداره ... تا حالا هم موفق به نصبش نشدم
( البته اینو هم بگم که من این کارو تو BDS2006 انجام میدم )

کار دیگه هست که باید انجام بدم ؟

Hamid_PaK
شنبه 07 بهمن 1385, 07:16 صبح
یکبار اکتیوایکس رو با نسخه کامپایلر خودت import کنید ...

یا حق ...

www2006
شنبه 07 بهمن 1385, 18:00 عصر
یکبار اکتیوایکس رو با نسخه کامپایلر خودت import کنید ...

یا حق ...

من نصب فایل Flash.Ocx را با دستور regsvr32.exe خود ویندوز امتحان کرده ام .. جواب نداد ( یعنی پیغام :

DllRegisterServer .... succeeded

ظاهر شد .. ولی مشکل کماکان برقراره)

از طریق دلفی هم امتحان کردم و ناموفق بودم ..یعنی از مسیر :

Component->Import Component->Import ActiveX control

فایل Shockwave Flash را Import میکنم ولی همانطور که گفتم یک Unit بنام :

ShockwaveFlashObjects_TLB.pas

باز میشه و امکان Compile و Install هم نداره ...

Valadi
یک شنبه 08 بهمن 1385, 00:04 صبح
جناب www2006 لینک کامپونت فلش
شاید اینطوری مشکلتان حل شود
http://salarsoft.somee.com/downloads/free/flash4delphi_d7.zip

www2006
یک شنبه 08 بهمن 1385, 20:13 عصر
آقا ممنون ..
هم این کامپوننتی که شما دادی نصب شد و هم TShokeWaveFlash (سرانجام مشکل حل شد)

Delphi_Developer
شنبه 19 اسفند 1385, 14:54 عصر
سلام

ببخشید یه مدت نبودم
امروز یه چند تا PDF و ... Component از تو هاردم برا Flash و Delphi پیدا کردم در مورد برداشتن Popup Menu از فلش و Import کردن فلش تو دلفی و ... برا یکی از دوستان گفتم اینجا هم برا شما بذارمش :
البته شاید قبلا دیده باشیدشون ولی به هر حال گذاشتم برا بقیه دوستان ( از پایین دانلود کنید )

راستی این چندتا سایت رو هم که در مورد Component و ... برا فلش هست یه نگاهی کنید ضرر نمیکنید :
http://www.F-IN-BOX.com
یه فلش کنترل مثل همون کنترل Macromedia هست اما یه خورده قدرتش بیشتره و ضمنا سوالی که خیلیا دارن رو هم انجام میده : مشکل Transeparent بدون

http://www.almdev.com/prods/smartflash/smartflash.htm
اینم یکی از Product های شرکت Almedia Developer هست اینم مثل همون بالایی هست اما یه خورده قدرتش کمتره اما یه سری امکانات بهتر داره

http://www.delphiflash.com
اینم سایت DelphiFlash که Delphi SWF SDK رو ساخته و میتونید Delphi SWF SDK و خیلی چیزای دیگه در مورد فلش و دلفی رو از اینجا دانلود کنید

فعلا همین اما بازم بعدا براتون میذاریم
امیدوارم به درد بخوره
موفق باشید

حرفه ای
یک شنبه 20 اسفند 1385, 09:03 صبح
دوستان خوبم - با تشکر

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

ممنون

Valadi
یک شنبه 20 اسفند 1385, 20:46 عصر
فریم ها فایل فلش را چندتایی بستی ؟ معمولا کمتر از 9 فریم باشد سرعت عملکرد پروژه کم می شود

حرفه ای
دوشنبه 21 اسفند 1385, 09:21 صبح
نه دوست خوبم !

شاید بد توضیح دادم نمایش فایل فلش من کند نیست Run شد برنامه به کندی صورت می گیره
اصطلاحا برنامه سنگین میشه
یعنی از زمانی که کاربر بر روی آیکن برنامه کلیک کرد تا اجرا شدن برنامه زمان زیادی می بایست کاربر معطل بمانه در صورتی که در برنامه های بدون فایل فلش این زمان بسیار کمتر است .

Valadi
دوشنبه 21 اسفند 1385, 20:32 عصر
پروژه تان اگر امکان دارد یک جا آپ لود کن آدرس بدید تا ببینم مشکل چیه ؟

ali_mohamadi8928
پنج شنبه 08 فروردین 1387, 16:41 عصر
سلام دوستان ... یک سوالخیلی کوچیک دارم ...

من برنامه ی مورد نظر رو نوشتم که از فلش استفاده میکنه و روی سیستم خودم هم که فلش پلیر نصب هست به خوبی کار میکنه ... در ضمن من اون اکتیو ایکس TshockwaveFlash رو هم نصب کردم وبه خوبی کار میکنه ... فقط من میخوام بودنم ایا این برنامه ی من به جز سیستم خودم روی بقیه ی کامپیوترها هم که فلش پلیر ندارن کار میکنه یا نه ... اگه کار نمیکنه باید چه فایلهایی رو توی اون سیستمها کپی کنم تا به خوبی و بدون هیچ مشکلی کار کنه برنامم ؟؟؟

Valadi
جمعه 09 فروردین 1387, 09:08 صبح
شما برای حل این مشکل اکتیوایکس را ریسورس کن و بعد زمان ساخت فرم چک کنه که اکتیو ایکس اگر هست برنامه اجرا بشه اگر هم نیست نصب کنه و بعد اجرا کنه
موفق وموید باشید

ali_mohamadi8928
شنبه 10 فروردین 1387, 00:13 صبح
خوب حرفتون درسته ... ولی دقیقا باید توی کدوم مسیر بریزمش اکتیو ایکس رو .... ایا فقط با کپی کردن اکتیو ایکس مشکل حل میشه ؟؟ یا اینکه فایلهای دیگه هم مورد نیاز هستن ؟

babak_delphi
شنبه 10 فروردین 1387, 16:10 عصر
ActiveX ها بایر رجیستر بشن
نحوه انجام این کار و کد مورد نیاز رو هم دوستان لطف کردند قبلا تو سایت گذاشتن
جستجو کنید ، پیدا می کنین

ali_mohamadi8928
یک شنبه 11 فروردین 1387, 17:40 عصر
سلام اقا بابک ... ممنون از راهنماییتون ...

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

خوب مشکل بزرگتر اینه که من اصلا کد ریجستر کردن رو پیدا نکردم ... اگه لطف کنید کد ریجستر کردن رو هم بزارید خیلی ازتون ممنون میشم ....

Valadi
دوشنبه 12 فروردین 1387, 06:47 صبح
این کد ریجستر کردن

//register ocx (simple but useful)
Winexec(PChar('regsvr32 /s '+'Falsh.ocx'),SW_HIDE); /////