الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن التفريق بين نافذتين

مغلق
بدأه abazied في 16 يونيو 2006 · 3 رد · 684 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

نافذتان من نفس الأصل (Unit) كيف يمكنني أن أجعلهما مستقلتان تماما

المشكلة التي تواجهنني في المثال المرفق

Example.rar

#2

يا أخي abazied. إرفاق الكود كامل ليس ضروريا إذا لم تشرح ما هو المشكل الذي لقيته في برنامجك.

لقد قمت بتنفيذه ولم أجد شيئا فيه.

قم بوصف المشكل و اشرحه!!

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#3

حاول يا اخ ايكوسان ان تضغط زر انشاء الفورم form2 مرتين

ستجده في كله مرة يولد فورم جديد!!

المشكلة يا ا خي abazied ان المتغير form2 عبارة عن مؤشر على فورم من النوع

TFROM2

وبالتالي عند الضغط على نفس الزر مرتين سياخذ عنوان الفورم المنشا في المرة الثانية ويفقد عنوان الفورم الذي تم انشاؤه في المرة الالى وبالتالي انت لاان تسطيع التحكم في الفورم الذي انشأته اول مرة . لانه لايوجد ما يشير اليه

يعني المسالة مش مسالة تفريق!!! المسالة انه لايرى الاول من اساسه

واذا كنت لاتصدق جرب ان تضع على الفورم الاساسي زرا ثالثا واكثب داخله ض

procedure TForm1.Button3Click(Sender: TObject);
begin
if form2<>nil then
  Form2.Close;
end;

واضغط على زر انشاء الفورم رقم 2 مرتين

ثم لضغط على الزر المنشا موخرا ستلاحظ انه اغلق النافذة الاخيرة

حل المشكلة

عند الضغط على زر الانشاء قم بحفظ الفورم الجديد في متغير جديد

uses Unit2;
 var
  myforms:array[1..10]of TFORM2;

.  .  .

procedure TForm1.Button1Click(Sender: TObject);
begin
 i:=I+1;
Application.CreateForm(TForm2, myForms);
myForms.Caption:='Form2 - Copy : '+IntToStr(I);
myForms.Show;
end;

كمثال على التحكم في الفورم المرغوب

procedure TForm1.Button3Click(Sender: TObject);
begin
  if myForms<>nil then
	begin
	 myForms.Close;
	 i:=i-1;
	end;
end;

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#4

شكرا romanof

الآن كيف استطيع أن أعرف الفورم الذي قام باستدعاء الفورم الثالث من هذه المصفوفة

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…