سؤال

أعمل في مشروع كبير في Delphi 5. اليوم ، بعد دمج فرعين من التطبيق معًا ، توقفت واحدة من مئات الوحدات ، Unitmain (وحدة النموذج الرئيسي ، هل تتخمن) التعرف على التطبيق العالمي.

هذه مشكلة غريبة إلى حد ما - يمكنني الحصول على البرنامج للتجميع عن طريق تحديد التطبيق: tapplication في Unitmain ، وتحديد ذلك إلى التطبيق من ملف مشروع. مفاجأة مع التطبيق هو الشيء الخاص هو.

آمل أن يواجه شخص ما نفس المشكلة من قبل ، أو يعرف ما يكفي من الأعمال الداخلية لـ Delphi VCL لمساعدتي هنا.

unit UnitMain;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, ComCtrls, StdCtrls, cxButtons, ExtCtrls, IniFiles, ShellAPI,
  LMDControl, LMDBaseControl, LMDBaseGraphicControl, LMDGraphicControl,
  LMDScrollText, cxControls, cxContainer, cxListBox, Psock, NMFtp, db, DBTables,
  FileCtrl, Configs, cxHint, DSetFunc, OleCtrls, DsInformation,
  InterAppComm, ActnList, ADODB, OleServer, CRAXDRT_TLB;

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

هل كانت مفيدة؟

المحلول

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

ولكن ، تحتاج إلى توفير المزيد من المعلومات. رسائل الخطأ الدقيقة ، إلخ

نصائح أخرى

يسعدني أن أرى كل شيء يعمل الآن ، لكنني سأضيف أن هناك طريقة أخرى لحل مثل هذه المشكلات ، خاصة إذا كنت لا ترغب في إعادة ترتيب استخدامات الاستخدامات الخاصة بك هي بادئة اسم الوحدة إلى كل ما تريد استخدامه ، على سبيل المثال.

Forms.Application.ProcessMessages;

ما هي الوحدات الموجودة في شرط الاستخدامات في الجزء العلوي من الملف؟ يأتي التطبيق من وحدة "النماذج".

على سبيل المثال.

unit MyUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top