PDA

View Full Version : انتقال داده به فرمی دیگر جهت پردازش در آن فرم و برگشت نتیجه به فرم اول



khoshblagh
دوشنبه 14 شهریور 1390, 12:33 عصر
با سلام خدمت دوستان
در برنامه ای نیاز دارم که از فرم اول اطلاعاتی را به فرم دوم که فعال نیست فرستاده تا در فرم دوم آن اطلاعات پردازش و نتیجه به فرم اول برگشت شود. چگونه اینکار قابل انجام است. با تشکر

Mahmood_M
دوشنبه 14 شهریور 1390, 13:01 عصر
داده ها چی هستن ؟ چه کاری باید روی داده ها صورت بگیره ؟
شما می تونید پردازش مورد نظر رو در فرم دوم به عنوان یک تابع تعریف کنید و داده های درون فرم اول رو به عنوان ورودی های تابع موجود در فرم دوم درنظر بگیرید
مشکلتون دقیقا کدوم قسمته ؟

khoshblagh
دوشنبه 14 شهریور 1390, 13:07 عصر
با سلام خدمت استاد عزیز
داده ها از نوع عددی هستند . و باید به فرم دوم ارجاع و در آن فرم با توجه به فرمولهای محاسباتی محاسبات انجام گرفته و نتیجه به فرم اول برگشت شود.
من به علتی نمیخوام که همان فرمولهای فرم دوم را در فرم اول قرار دهم . پس لازم است داده ها برای محاسبات به فرم دوم ارجاع و نتیجه به فرم اول برگشت شود.مشکل من اینه که سعی کردم فرم به فرم دوم دسترسی پیدا کنم که خطای Acces Volation اتفاق افتاد. ضمنا در فرم اول فرم دوم را Uese نمودم. احتمالا باید دستور فراخوانی فرم دوم را قبل از اجرای عملیات بدهم. خط مورد نظر به شکل زیر است. متشکرم
frmSabtKarKard.edtSaatTatilkar.Text :=IntToStr(intJTatilkar);

Felony
دوشنبه 14 شهریور 1390, 20:33 عصر
فرم دوم که سعی دارید بهش دسترسی پیدا کنید Auto Create هست یا نه ؟ اگر نه خودتون قبل از فراخوانی باید یه نمونه ازش بسازید .

یوسف زالی
سه شنبه 15 شهریور 1390, 01:43 صبح
جناب تاجیک اگز از اشیای درون فرم دوم استفاده نشه و فقط محاسبات ساده روی پارامتر های ورودی داشته باشه مثل یک یونیت میشه باهاش برخورد کرد. درست میگم؟
یعنی نیازی به ساخته شدن فرم دوم نیست.

khoshblagh
سه شنبه 15 شهریور 1390, 07:08 صبح
فرم دوم که سعی دارید بهش دسترسی پیدا کنید Auto Create هست یا نه ؟ اگر نه خودتون قبل از فراخوانی باید یه نمونه ازش بسازید .
من در باره Auto Create چیزی نمیدانم پس جواب شما خیر است. نحوه ساختن نمونه از فرم چگونه است ؟ متشکرم

Felony
سه شنبه 15 شهریور 1390, 08:08 صبح
جناب تاجیک اگز از اشیای درون فرم دوم استفاده نشه و فقط محاسبات ساده روی پارامتر های ورودی داشته باشه مثل یک یونیت میشه باهاش برخورد کرد. درست میگم؟
یعنی نیازی به ساخته شدن فرم دوم نیست.
بله ، اگر با اجزای بصری و یا کلاس خاصی کار نشه نیازی به نمونه سازی نیست .


من در باره Auto Create چیزی نمیدانم پس جواب شما خیر است. نحوه ساختن نمونه از فرم چگونه است ؟ متشکرم
وقتی از Auto Create چیزی نمیدونید پس یعنی تنضیمات پروژه رو دستکاری نکردید ( فرم ها به صورت پیش فرض در دلفی Auto Create هستن ) ؛ احتمالا فرم دوم رو جایی از برنامه آزاد نمیکنید ؟

مثلا :


frmSabtKarKar.Free;

یا در رویداد OnClose پارامتر Action رو با caFree مقدار نمیدید ؟

یا ... ؟

من احتمال میدم فرم برنامه شما در جایی از برنامه آزاد شده و حالا شما قصد دارید به اجزاش دسترسی پیدا کنید و Access Violation می گیرید .

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

اگر باز هم مشکلتون رفع نشد برنامتون رو ضمیمه کنید .