لماذا لن تكون الوحدة غير قابلة للاستخدام حتى يتم تحميل وحدة أخرى؟

StackOverflow https://stackoverflow.com/questions/2416127

  •  19-09-2019
  •  | 
  •  

سؤال

معظم الوحدات التي أعمل عليها الاعتماد على وحدة بيانات. واحدة من أكثر الأشياء المزعجة التي أتيت فيها Accross هي رسالة خطأ تخبرني

تشير الوحدة النمطية X إلى وحدة نمطية أخرى ولا يمكن حفظها حتى يتم تحميل الوحدة النمطية Y.

الآن، أنا متأكد من أن هناك سبب وجيه للغاية CheckNoFixups يثير هذا الخطأ أثناء محاولة WriteRootStream, ، وفشل في حفظ ما هو في الواقع ملف نصي (ونأمل أن لا يتبع ذلك Catastrophic Failure حيث يجب أن أعد تشغيل IDE بينما لا يزال غير قادر على حفظ عملي) ولكن ما هو السبب الجيد؟

لماذا لا أتمكن من النقر فوق "حفظ" دون فتح ملف نصي Anothing الذي يحتوي على وظائف و كائنات مختلفة مثل أي وحدة أخرى؟ ما هو خاص جدا حول Datamodule وهذا يعني أنني لا أستطيع حفظ المصدر الذي أعمل عليه حتى يتم فتحه، فلماذا لا تكون 45 وحدة أخرى في جملة الاستخدامات مهمة جدا يجب أن تكون مفتوحة؟

تعديل:انها دلفي 2007

إعلان Datamodule هو:

unit DataMD;

TRepDataMod = class(TDataModule)
...
var
  RepDataMod: TRepDataMod;
هل كانت مفيدة؟

المحلول

إذا كانت DataModule ليست جزءا من المشروع المفتوح الكائنات التي تدرك البيانات في النموذج الخاص بك والتي تشير إلى أن DataModule، لا يمكن التحقق من مرجعها وأعتقد أن الرسالة تأتي.

لقد رأيت فقط هذه الرسالة عندما كنت أقوم بتنفيذ مشروع أقدم لإصدار Delphi الجديد أو تم الترحيل إلى مجموعة جديدة من مكونات قاعدة البيانات. في الظروف العادية، لم أواجه هذه الرسالة.

في الإصدارات السابقة لم أر الرسالة ويمكن حفظ النموذج / الوحدة، ولكن المراجع التي كانت في DFM تم حذفها بالسامري.

نصائح أخرى

لدي نفس المشكلة (دلفي 7).

لدي ImageList على Datamodule للاستخدام في جميع أنحاء التطبيق بأكمله. يحدث ذلك بعد ترجمة، إذا كان هناك خطأ في بناء الجملة. IDE يفتح ملف (PAS) ويمكنني تصحيح الخطأ.

ولكن محاولة حفظ الملف يظهر أن روابط هذه الرسالة ("الوحدة النمطية" XXX "الروابط إلى الوحدة النمطية" YYY "والتي لا يمكن العثور عليها في المشروع الحالي. هل الكاهن لإزالة / إعادة توجيه الروابط إلى وحدة نمطية أخرى؟"). XXX هو الملف نفسه و yyy هو datamodule. Datamodule. هو وشملت في المشروع والإجابة على "نعم" على هذا السؤال قم بإزالة جميع الروابط في ملف DFM.

لذا فإن الحل الوحيد يضغط "لا"، وهو ما يحفظ بشكل أساسي ملف PAS وإغلاق الملف في - هذه المرة الضغط على السؤال إذا كان يجب حفظ الملف (PAS في الواقع محفوظ بالفعل).

لقد حاولت AllReady الحلول المختلفة بذرتال تكافح.

تشير الوحدة النمطية X إلى وحدة نمطية أخرى ولا يمكن حفظها حتى يتم تحميل الوحدة النمطية Y.

مجرد إلقاء نظرة على x.dfm (x.fmx) لإدخالات "Y". ما يجب القيام به معهم، إنه خيارك.

تأكد من أن DataModule جزء من المشروع. لا يكفي فقط لتضمين في مسار البحث أو إدخال ملف DPR يدويا. انتقل عبر IDE وإضافة Datamodule إلى المشروع.

تأكد أيضا من أن مورد Datamodule DFM - له نفس اسم الوحدة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top