'error'에 해당되는 글 13건

  1. 2015.05.22 CFileDialog cannot convert const char [22] to LPCTSTR
  2. 2015.05.14 ExtractStrings의 버그를 SeparateStrings 으로 해결
  3. 2015.05.11 E2034 Cannot convert 'char const[17]' to 'const wchar_t *'

CFileDialog *d;

d = new CFileDialog(

                TRUE, NULL,  NULL, 

                OFN_ENABLESIZING | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST,

"All Files (*.*)|*.*||" );


Error 7 error C2664: 'CFileDialog::CFileDialog(const CFileDialog &)' : cannot convert argument 5 from 'const char [22]' to 'LPCTSTR' c:\delpapp\app\howto\gerberplot\gerberplotdlg.cpp 454 1 GerberPlot


해결 :


TCHAR szFilter[] = _T("All Files (*.*)|*.*||");

d = new CFileDialog(

                TRUE, NULL,  NULL, 

                OFN_ENABLESIZING | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST,

szFilter);

참조 : 

http://www.borlandtalk.com/extractstrings-question-vt90577.html


TStrings 사용하려면 -> #include <Classes.hpp>



int __fastcall SeparateStrings(const AnsiString &AString, char ADelimiter, TStrings *AStrings)

  int Result = 0; 


  if( (AString.Length() > 0) && (AStrings) ) { 

    AStrings->BeginUpdate(); 

    try 

    { 

      char *ptr = const_cast<AnsiString&>(AString).c_str(); 

      char *end = (ptr + AString.Length()); 


      while( (*ptr <= ' ') && (ptr < end) ) 

      ++ptr; 


      char *start = ptr; 

      bool InQuote = false; 


      while( ptr < end ) 

      { 

        if( (*ptr == ADelimiter) && (!InQuote) ) 

        { 

          AStrings->Add(AnsiString(start, ptr-start)); 

          ++Result; 

          start = ++ptr; 

        } 

        else if( *ptr == '"' ) 

        { 

          InQuote = !InQuote; 

          ++ptr; 

        } 

        else 

          ++ptr; 

      } 


      if( start < end ) 

      { 

        AStrings->Add(AnsiString(start, end-start)); 

        ++Result; 

      } 

    } 

    __finally { 

      AStrings->EndUpdate(); 

    } 

  } 


  return Result; 



long DoMsgPrintf(TColor theColor, const TCHAR * fmt, ...);


DoMsgPrintf(clBlack, "Output : %X (%d)", Data, Data );

이렇게 call 하면 에러가 난다.


DoMsgPrintf(clBlack,_T("Output : %X (%d)"), Data, Data );

_T( ) 를 넣어주어야 한다.

winnt.h 추가



또는

DoMsgPrintf(clBlack,(TCHAR *)("Output : %X (%d)"), Data, Data );


1 2 

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!