ورود

View Full Version : مشکل با ShellExecute



nassim_20
سه شنبه 22 مرداد 1387, 17:50 عصر
من با استفاده از دستور ShellExecute می خواهم یه فایل jpg رو توی کرل باز کنم
این کار انجام میشه ولی مشکل من اینه که هر بار که دکمه رو می زنم تا تصویرم رو توی کرل نمایش دهد یه کرل جدید باز میشه
قبلا این کار رو برای برنامه فتوشاپ انجام دادم مشکلی نداشت و اگر فتوشاپ باز بود دیگه یه فتوشاپ دیگه باز نمیکرد ولی در مورد کرل اگه کرل اجرا باشه یکبار دیگه کرل اجرا میشه
البته من پارامتر آخر رو همه جوره امتحان کردم و حالتهای مختلف رو بهش دادم ولی باز مشکل باقی است به نظر شما راه حل چیه
حالا اگه بجز ShellExecute بود ولی بشه این کار رو انجام داد فرقی نداره

vcldeveloper
سه شنبه 22 مرداد 1387, 19:13 عصر
این مسئله بخاطر رفتار کرل هست، یعنی در مثال Photoshop، خود Photoshop بود که متوجه میشد یک نسخه از آن باز هست و فایل را در همان نسخه باز می کرد، ولی در کرل همچین قابلیتی پیش بینی نشده. این ربطی به ShellExecute نداره!

nassim_20
سه شنبه 22 مرداد 1387, 19:51 عصر
به نظر شما چکار میشه کرد این مشکل پیش نیاد البته میشه با کد زیر این مشکل رو حل کرد که تنها یکبار کرل اجرا بشه ولی مشکل اینه که فایل من از نوع jpg است که کد زیر تنها زمانی درست اجرا میشه که فایل انتخابی از نوع cdr باشه


procedure TForm1.Button12Click(Sender: TObject);
var
fr: TFileRun;
begin
if OpenDialog1.Execute then
begin
fr := TFileRun.Create(Application);
fr.FileName := OpenDialog1.filename;
fr.Execute;
fr.Free;
end;

end;