336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
회사에서 신규로 솔루션을 하나 망글고 있습니다

전에 소스들은 VC6.0 기반에 ACP로 되어 있어서

큰 맘먹고 2008 UNICODE로 바꿨드만 SendRequest가 잘 되서 찾아 본 내용 입니다.

필요 하신분은 아래 내용을 보시면 아실걸로 생각 됩니다

원본 포스트 -> http://www.codeguru.com/forum/showthread.php?t=203212

< 내용 >

bool FormPost(LPCTSTR serverURL, LPCTSTR requestPage, LPCTSTR formData)
{
  
// CREATE INTERNET SESSION
  
CInternetSession session(_T("FORM POST TEST"),PRE_CONFIG_INTERNET_ACCESS);
  
// MAKE AN HTTP CONNECTION
  
CHttpConnection* pConnection = session.GetHttpConnection(serverURL);
  
// HEADERS
  
CString strHeaders = _T("Content-Type: application/x-www-form-urlencoded");
  
// OPEN A POST REQUEST
  
CHttpFile* pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,requestPage);
  
// UNICODE
  #if defined(_UNICODE)
    // Length of form data (including '\\0')
    
const int dwLength = _tcslen(formData) + 1;
    
// Alocate ANSI character array
    
char *lpFormData = new char[dwLength];
    
// Convert wide char form data to ANSI
    
VERIFY(0!=::WideCharToMultiByte(CP_ACP,0,formData,-1,lpFormData,dwLength,0,0));
    
// Send the request to the HTTP server
    
VERIFY(pFile->SendRequest(strHeaders,lpFormData,dwLength));
    
//  Delete ANSI array
    
delete [] lpFormData;
  
// ANSI
  #else
    // Send the request to the HTTP server
    
VERIFY(pFile->SendRequest(strHeaders,(LPVOID)formData,strlen(formData)));
  
#endif
  // GET POST STATUS
  
DWORD dwPostStatus = 0;
  
VERIFY(pFile->QueryInfoStatusCode(dwPostStatus));
  
// CLOSE THE HTTP FILE
  
pFile->Close();
  
// Return true if status = 200
  
return 200 == dwPostStatus;
}


<중요포인트>

 // Convert wide char form data to ANSI
    
VERIFY(0!=::WideCharToMultiByte(CP_ACP,0,formData,-1,lpFormData,dwLength,0,0));
    
// Send the request to the HTTP server
    
VERIFY(pFile->SendRequest(strHeaders,lpFormData,dwLength));
    
//  Delete ANSI array
    
delete [] lpFormData;

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
요즘 Arcobject 작업을 하면서 C#을 좀 다뤄 봤는데요

List 사용시 내가 input한 순서와 참조 순서가 같지 않을때도 있다는게 발견 됬습니다

아래 소스를 보시면 쉽게 아실 겁니다

List<int> pList = new List<int>();

pList.Add(0);
pList.Add(1);

pList[1] == 1 <- 요게 참 일수도 있고 거짓 일수도 있다는 겁니다

왠지 메모리 올라가고 하는 것이 몬가 정렬을 한다는 느낌을 지울수 없네요

요거 관련 정보를 가지고 있으신분 글 좀 달아 주세요
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

선택된 영역이란 쿼리를 날리겠다는게 아니고

select 해왔건 유저가 선택했건 파랗게 보이는 영역입니다

타겟 언어는 C# 입니다

//아래는 제가 작업하는 방법이고 command를 만들면 object hook이 생성되며
//그 이하는 아래와 같이 하시면 됩니다

//private IApplication m_application = null;
//private IMxDocument m_pMxDoc = null;
//private IMap m_pMap = null;
//private FeatureLayer m_pLayer = null;

//object hook
//m_application = hook as IApplication;
//m_pMxDoc = (IMxDocument)m_application.Document;
//m_pMap = m_pMxDoc.FocusMap;

//ILayer pLayer = m_pMap.get_Layer(n);
// m_pLayer = (FeatureLayer)pLayer;

  IFeatureSelection pFeatureSelection = (IFeatureSelection)m_pLayer;

  ICursor pCursor = null;
  pFeatureSelection.SelectionSet.Search(null, false, out pCursor);

  IFeatureCursor pFeatureCursor = (IFeatureCursor)pCursor;
  IFeature pFeature =  pFeatureCursor.NextFeature(); //현재 선택된 feature이며
  //여러건이라면 NextFeature 를 계속 호출해서 null 나올때 까지 하시면 됩니다

+ Recent posts