CString در c++.net2003

sara_she

Member
من مي خوام تو پروژه خودم متغيري از جنس CString به كار ببرم ولي چه اين تعريف رو به صورت CString و چه به صورت
* CString انجام بدم خطاي زير ايجاد مي شه:

error C3861: 'CString': identifier not found, even with argument-dependent lookup


كد مورد استفاده براي مثال
کد:
 CString strCir = "AcDbCircle";
	 CString * dwg = ( CString *)pData;
 
آخرین ویرایش:

saalek110

Well-Known Member
من در وی سی دات نت 2003 یک پروژه دات نت ویندوزی ساختم. و یک باتون روی فرم قرار دادم و کد زیر:

کد:
	private: System::Void button1_Click(System::Object *  sender, System::EventArgs *  e)
			 {
        	 String* theText = S"Hello World!";
                 MessageBox::Show(theText);

			 }

اجرا شد.

اما راجع به CString تا آنجا که یادمه در ویژوال سی 6 کاربرد داره و در ویژوال سی 2003 هم قائدتا در پروژه های mfc کاربرد داره. البته این جمله را با تحقیق نگفتم و یک چیزی در ذهنم بود گفتم . شاید درست نگفته باشم.

----------------------------
چند تا کتاب که فکر کنم همه visual c ++ net 2003 باشد را در این پست آپلود کردم.
 
آخرین ویرایش:

sara_she

Member
سلام

اگه تو help مربوط به vs c++.net اين كلمه رو search كنيد مي بينيد كه در جاهايي به غير از mfc هم كاربرد داره . من قبلأ تو همين پروژه ويندوزي و dll ازش استفاده كردم ولي يادم نيست اين مشكل رو چطور حل كردم

در مورد آپلود ممنون ولي نمي دونم چرا نمي تونم download‌ كنم وقتي رو free كليك مي كنم يه صفحه باز مي شه كه مربوط به upload كردن است و ديگه هيچ اتفاقي نمي افته
 
آخرین ویرایش:

saalek110

Well-Known Member
Namespaces in C++

Namespaces are a C++ feature designed to eliminate name conflicts,
such as having two classes, each in different libraries, called String.
Before namespaces were added to the language, library developers tried to make their names unique by adding letters to them:
One developer's string class might be called GCString, whereas another developer might call it TKString,
the string class in MFC is called CString, and so on.
This approach is ugly and reduces, but doesn't prevent, name conflicts.
With namespaces, classes can have simple names.
Name conflicts are much less likely,
because in addition to a short or local name,
classes have a fully qualified name that includes their namespace.
Here's a slightly artificial example (normally namespaces are used in separate libraries,
not jumbled together in one piece of code like this) that illustrates how they work
:
کد:
namespace One
{
    class Common
    {
    private:
        int x;
    public:
        Common(int a): x(a) {}
        int getx() {return x;}
    };
    void Do()
    {
        Common c(3);
        Console::WriteLine(__box(c.getx()));
    }
}
namespace Two
{
    class Common
    {
    private:
        double d1, d2;
    public:
        Common(double param1) : d1(param1),d2(param1) {}
        double getd1() {return d1;}
        double getd2() {return d2;}
    };
    void Do()
    {
        Common c(3);
        String* output = String::Concat(__box(c.getd1()), S"  " ,
           __box(c.getd2()));
        Console::WriteLine(output);
    }
}

int _tmain()
{
    //Common c(3); // ambiguous
    One::Common c1(3);
    Two::Common c2(3);
    //Do(); //ambiguous
    One::Do();
    Two::Do();
    return 0;
}

از کتاب :
Microsoft® Visual C++® .NET 2003 Kick Start

در این کتابها که دیدم cstring با عنوان کلاسی از mfc نام برده شده.
راجع به کتابها آپلود کردم. به تاپیک مراجعه کنید.
 
آخرین ویرایش:

sara_she

Member
ممنون و يه چيزي كه من تو اين زمينه پيدا كردم اينه كه اگه پروژه ما mfc هم نباشه با استفاده از property پروژه و اضافه کردن
Use Of MFC مي تونيم اين مشكل رو حل كنيم
 

جدیدترین ارسال ها

بالا