PDA

View Full Version : مشكل در لود كردن عكس



reza_66
دوشنبه 17 تیر 1392, 21:09 عصر
سلام دوستان
مشكل منم تقريبا شبيه اين دوستمونه برا همين اينجا مطرح كردم
البته من آدرس عكسو از open dialer در ميارم و داخل بانكمم ذخيره ميكنم.مشكلم اينجاست كه من وقتي آدرسو در ميارم براي مطمين شدن از عكس مورد نظر اونو با image نمايش ميدم و بعد داخل بانكم ذخيرش ميكنم.بعد از ذخيره در يك فرم جديد بايگاني كليه پرونده ها با قابليت نمايش عكس وجود داره كه باكليك روي هر پرونده آدرس عكس هر پرونده از داخل بانك خونده ميشه ونمايش داده ميشه .مشكل من اينجاس كه وقتي آدرس رو ميخونه پيغام مياد كه آدرس مورد نظر پيدانشد .واتفاقي كه مي افته آدرس open dialer از حافظه پاك نميشه و در داخل پيغام آدرس اون عكسي كه از open dialer خونده ميشه و آدرس اين عكسي كه از بانك خونده ميشه تركيب ميشه و همچين آدرس عكسي هم طبيعتا پيدانميشه.؟؟؟؟

لطفا راهنمايي كنيد چگونه بعد از خوندن آدرس توسط open dialer اونو از حافظه پاكش كنم؟؟؟؟باچه دستوري؟؟

ممنون

reza_66
سه شنبه 18 تیر 1392, 08:14 صبح
دوستان عزيز مجدد سلام
لطفا كمك كنيد
با اين دستور در يكي از فرمها عكس نمايش داده ميشه و بعد آدرسشو در بانك ذخيره ميكنم.بعد در صفحه اي ديگه كه آدرس همين عكسايي كه ذخيره ميشه از بانك خونده ميشه براي نمايش كه اونجا پيغام ميده و داخل پيغامش آدرس اون عكسي رو كه از open dialer مي خونه داره كه با آدرسي كه از بانك ميخونه تركيب شده و بنابراين عكسي نمايش داده نميشه.

دوستان بگيد چيكار بايد بكنم؟؟؟؟

1
2
3
4
if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.Fil eName);
end;

sara.mahdavi
سه شنبه 18 تیر 1392, 14:01 عصر
سلام دوستان
مشكل منم تقريبا شبيه اين دوستمونه برا همين اينجا مطرح كردم
البته من آدرس عكسو از open dialer در ميارم و داخل بانكمم ذخيره ميكنم.مشكلم اينجاست كه من وقتي آدرسو در ميارم براي مطمين شدن از عكس مورد نظر اونو با image نمايش ميدم و بعد داخل بانكم ذخيرش ميكنم.بعد از ذخيره در يك فرم جديد بايگاني كليه پرونده ها با قابليت نمايش عكس وجود داره كه باكليك روي هر پرونده آدرس عكس هر پرونده از داخل بانك خونده ميشه ونمايش داده ميشه .مشكل من اينجاس كه وقتي آدرس رو ميخونه پيغام مياد كه آدرس مورد نظر پيدانشد .واتفاقي كه مي افته آدرس open dialer از حافظه پاك نميشه و در داخل پيغام آدرس اون عكسي كه از open dialer خونده ميشه و آدرس اين عكسي كه از بانك خونده ميشه تركيب ميشه و همچين آدرس عكسي هم طبيعتا پيدانميشه.؟؟؟؟

لطفا راهنمايي كنيد چگونه بعد از خوندن آدرس توسط open dialer اونو از حافظه پاكش كنم؟؟؟؟باچه دستوري؟؟

ممنون

دوست عزیز
مگه شما برای نمایش عکس از روی بانک آدرسشو نمیخونی؟ اگه اینطوری باشه و آدرس داخل بانک درست باشه باید عکس رو نشون بده

برای اینکه مقدار OPD رو پاک کنی از این دستور استفاده کن :

if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.Fil eName);
end;
OpenPictureDialog1.FileName:='';

sara.mahdavi
سه شنبه 18 تیر 1392, 14:05 عصر
دوستان عزيز مجدد سلام
لطفا كمك كنيد
با اين دستور در يكي از فرمها عكس نمايش داده ميشه و بعد آدرسشو در بانك ذخيره ميكنم.بعد در صفحه اي ديگه كه آدرس همين عكسايي كه ذخيره ميشه از بانك خونده ميشه براي نمايش كه اونجا پيغام ميده و داخل پيغامش آدرس اون عكسي رو كه از open dialer مي خونه داره كه با آدرسي كه از بانك ميخونه تركيب شده و بنابراين عكسي نمايش داده نميشه.

دوستان بگيد چيكار بايد بكنم؟؟؟؟

1
2
3
4
if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.Fil eName);
end;
این سوالتم که همون مشکل قبلیته نمیدونم چرا دوباره نوشتی:متفکر:
من فکر میکنم شما ، احتمالا توی فرم نمایش عکست از دوباره آدرس عکس رو از OPD میخونی یا موقعی که توی بانکت ذخیره میکنه آدرس ترکیب شده ذخیره میشه

reza_66
چهارشنبه 19 تیر 1392, 11:31 صبح
این سوالتم که همون مشکل قبلیته نمیدونم چرا دوباره نوشتی:متفکر:
من فکر میکنم شما ، احتمالا توی فرم نمایش عکست از دوباره آدرس عکس رو از OPD میخونی یا موقعی که توی بانکت ذخیره میکنه آدرس ترکیب شده ذخیره میشه


ممنون بابت پاسخگوييتون
ولي من تست كردم آدرس توي بانك درست ذخيره ميشه حتي يه آدرسي هم كه قبلا توي بانك ذخيره شده و عكسشم نمايش ميداده اونم باز نميكنه و همون پيغامو ميده.

با دستوريم كه گفتين امتحان كردم ولي بازم همون پيغام رو موقع لود كردن عكس دارم.

ولي برعكس اين قضيه تست گرفتم مشكلي پيش نيومد.(يعني اول از تو بانك آدرس عكسهاي موجودو دادم درست توسط image باز شد و بعد با open dialer آدرس عكس دادم باز شد و پيغامم نداد.

يك نكته ي ديگه اينكه اگر عكسي رو با open dialer باز كنم قبل از اينكه بخوام تو بانك آدرس عكسو ذخيره كنم اگه عملياتمم كنسل كنم و برگردم از آدرس عكساي ذخيره شده بخوام عكسي رو نمايش بدم پيغام ظاهر ميشه.(در حالي كه برعكس اين قضيه اين پيغام نمياد)

ممنونم اگه بيشتر توضيح بدين برام.

sara.mahdavi
چهارشنبه 19 تیر 1392, 18:33 عصر
خب عکس رو موقع لود کردن باید از بانک آدرسشو بگیره نه از OPD
قسمتی که عکستو میخوای لود کنی کدش رو بذار
خب برای سوال دوم ت این کد


if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.Fil eName);
end;


شرط میکنه که اگر عملیات انتخاب عکس انجام شد مقدار برگشتی اون رو توی Image بذار درغیر اینصورت عملیات داخل شرط رو انجام نمیده

gholami146
چهارشنبه 19 تیر 1392, 23:58 عصر
شما بهتر از Try , Finally و یا برای مدیریت خطاهات ازEXPECTON ها استفاده کنی
اولا باید اینو بدونی که اگر شما آدرس عکس رو در یکی از درایو ها ذخیره کنی و پس از جابجایی برنامه بر روی یک سیستم دیگه باز هم به مشکل میخوری پس نتیجه میگیریم که نباید فقط از ادرس استرینگ اون استفاده کنی مگر اینکه اطلاعات عکس ها تو در یک فایل زیپ و فشرده در کنار بانکت BackUp و Restore کنی
و در مورد خوندرن اطلاعات در داخل یک Image جهت خالی کردن اون باید ایمیج رو برابر Nil قرار بدی تا خالی بشه و بهتر از کد نویسی های جدید استفاده کنی تا روش های مرسوم و قدیمی

Try
IF OpenPictureDialog1.Execute Then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.Fil eName);
End;
Finally
OpenPictureDialog1.FileName:=EmptyStr;
end;

reza_66
پنج شنبه 20 تیر 1392, 08:33 صبح
خب عکس رو موقع لود کردن باید از بانک آدرسشو بگیره نه از OPD
قسمتی که عکستو میخوای لود کنی کدش رو بذار
خب برای سوال دوم ت این کد


if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.Fil eName);
end;


شرط میکنه که اگر عملیات انتخاب عکس انجام شد مقدار برگشتی اون رو توی Image بذار درغیر اینصورت عملیات داخل شرط رو انجام نمیده


خوب ذقيقا همين كار و كدهايي رو كه مي گين انجام دادم و مشكلمم همون پيغامه بود ديگه.من در يك فرمم از opd مي خونم و نمايش ميدم و بعد در فرم بعدي كه مي خواد بخونه از بانك مي خونم كه پيغام ظاهر ميشه و آدرس هر دو عكس اول و دوم رو با هم تركيب ميكنه و ...

ولي جالب اينجاس كه يه مدت همين روش برام جواب داد و پيغامي هم نداد ولي حالا بعد از اضافه كردن كدهايي به برنامم اين پيغام ظاهر ميشه و حتي با پاك كردن اون كدها بازم پيغامه مياد.

بازم ممنون بابت راهنماييتون

gholami146
پنج شنبه 20 تیر 1392, 09:17 صبح
بهتره فایل .pas رو ضمیمه کنید تا برسی بشه
تا ما بفهمیم شما چیکار کردید
در ضمن میتونید از دیباگر خود دلفی یا راد استادیو استفاده کنید و از این روش هم به قسمتی که باعث ایجاد این خطا میشه پی ببرید

sara.mahdavi
پنج شنبه 20 تیر 1392, 18:42 عصر
خوب ذقيقا همين كار و كدهايي رو كه مي گين انجام دادم و مشكلمم همون پيغامه بود ديگه.من در يك فرمم از opd مي خونم و نمايش ميدم و بعد در فرم بعدي كه مي خواد بخونه از بانك مي خونم كه پيغام ظاهر ميشه و آدرس هر دو عكس اول و دوم رو با هم تركيب ميكنه و ...

ولي جالب اينجاس كه يه مدت همين روش برام جواب داد و پيغامي هم نداد ولي حالا بعد از اضافه كردن كدهايي به برنامم اين پيغام ظاهر ميشه و حتي با پاك كردن اون كدها بازم پيغامه مياد.

بازم ممنون بابت راهنماييتون

همینطور که دوستمون gholami146 (http://barnamenevis.org/member.php?123410-gholami146)

میگن یا فایل .pas رو قرار بدید یا حداقل همون قسمتی که داره عکس رو لود میکنه بذارید شاید یک کد اضافه داره