-
ارسال اشيائ
سلام
مي خواستم بدونم چه طوري ميشه تمام پارامتر هاي يك شي رو به يه فايل خاص مرتبط كرد
منظورم اينه كه مثلا يه فايل
DLL
داشته باشيم كه تمام رويداد هاي يك شي رو داشته باشه بعد توي برنامه اون فايل رو بارگذاري كنيم
بعد تمام پارامتر ها رو به اون شي مرتبط كنيم مثلا
کد:
Edit1.OnChange:=DLLOnChange;
و تابع
DLLOnChange
داخل يه فايل كتابخانه اي ديگه است
کد:
procedure DLLOnChange(Sender: TObject);
مي خواستم بدونم راه ديگه اي هم داره يا نه مثلا داخل فايل كتابخانه اي يه عنصر از همون نوع درست كنم
و بعد مساوي عنصر داخل برنامه قرار بدم
-
سلام
كسي نيست ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟
-
اصلا نميتونم درك كنم منظورت چيه.
دقيق چي ميخواي ؟
-
سلام
مي خواهيد برنامه را كامپايل بگيريد و فقط با تغيير دادن اون Dll كار بعضي از قسمتها تغيير كند؟
-
سلام
ببخشيد چند روزي بود گرفتار شده بودم
منظورم اينكه به جاي اينكه تمام رويداد هاي يه برنامه داخل فايل اجرايي باشه توي قسمت هاي ديگه باشه
اولا اينطوري اگر اشكالي وجود داشته باشه تنها با تغيير اون فايل مي شه مشكل رو بر طرف كرد منظورم آپديت برنامه است
در ضمن مي خوام كه حجم برنامه كمتر بشه چون با اشتراك توابع بين اشيا ميشه كد نويسي رو كم كرد
و يه چيز ديگه
ميشه مثلا يه فايل كتابخانه اي توش يه اديت باشه و هرجا كه نياز به يه اديت بود از فايل كتابخانه اي گرفت
منظورم كريت كردنه توضيح بيشتر اينكه در نظر بگيريد كه بخوام يه دي بي استرينگ گريد داشته باشم كه همه
جا بخوام اونو ايجاد كنم اما فقط بانك اطلاعاتي اون فرق داشته باشه و اين استرينگ گريد توي يه فايل كتابخانه اي
با تمام رويداد ها و خاصيت هاش وجود داره؟؟؟؟؟؟؟؟
:blush: :blush: :blush: :blush:
-
سلام
NoneForce جان يه حال ديگه بده ...
-
دوست عزيز.
در اين زمينه بايد عرض كنم كه چندتا مزيت داره و جندتا مشكل.
مزاياشو همه برنامه نويسان ميدونن و شما هم به چندتاش اشاره كردي ولي من بزرگترين عيب اين روش (در نظر خودم) رو مينويسم :
چون فايلهاي كتابخانه از جنس DLL براي تمام زبانهاي برنامه نويسي قابل استفاده هست ديكمپايلرهاي زيادي براي اون وجود داره.
در نتيجه مسائل امنيتي رو بهتره كه توي اون نزاري.
چون خود دلفي ديكمپايلري نداره كه كدهاي دلفي رو بده به نظر من امنيتش كمي بيشتره.
درباره سوالتون هم عرض كنم كه :
1. بايد كدها رو به صورت پروسيجر در DLL ذخيره كني.
2. در ابتداي برنامه فايل Dll رو فراخواني كني.
3. توي رويدادهايي كه براي برنامه تعريف كني (براي مثال Onclick) بايد اسم توابعي كه در فايل Dll تعريف كردي رو فراخوان كني.
به همين راحتي.
اگه سوالي داشتي بپرس.
-
سلام
از اينكه توجه كردي ممنون
اما يه مثال مي خواستم كه قبلا جواب داده باشه
چون تمام اينايي رو كه گفتي انجام دادم اما هميشه وقتي يه رويداد مي خواد اجرا بشه يه پيغام خطا مي ده
مشكل من اينكه نمي دونم اصلا روشي رو كه استفاده مي كنم درسته يا نه و اينكه آيا نوع پروسجور هايي كه توي Dll به كار
مي برم بازم درسته يا نه اگر نمونه برنامه رو مي خواين بگين بزارم
در مورد فراخواني Dll منظورتون به روش پوياست ديگه
-
بازم سلام
يه چيز ديگه منظورتون از اينكه بهتر اين كارو نكنم چيه
آخه برنامه اي كه من مي نويسم حجم فايل اجرايش زياد شد و مجبور شدم كه اين كار رو بكنم
اگه روش بهتري داري بگو
-
اون كارو بكن.
ولي يك جاهايي كه مثلا براي قفل يا پسور استفاده كردي رو به dll تبديل نكن.
همين.