MFC 에서 기본적인 소켓을 열기 위한 코드.
====================================================================
SOCKET mysocket = INVALID_SOCKET;
mysocket = socket(AF_INET, SOCK_STREAM, 0);
if(mysocket == INVALID_SOCKET)
{
CString str;
str.Format(_T("SOCKET mysocket init fail.(%d)"), WSAGetLastError());
AppendRichEditText(str);
}
else
{
sockaddr_in addr = {0};
int addrlen = sizeof(addr);
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("192.168.0.38");
addr.sin_port = htons(3211);
int ret = connect(mysocket, (sockaddr *)&addr, addrlen);
if(ret == SOCKET_ERROR)
{
AppendRichEditText(_T("SOCKET mysocket connect fail."));
}
else
{
AppendRichEditText(_T("dllcsta.CSTA_Client(mysocket);"));
dllcsta.CSTA_Client(mysocket);
}
====================================================================
위와 같이 코드를 작성하고 나서, 프로그램을 실행하고 동작을 하면
아래와 같이 에러가 발생한다 (10093)
SOCKET mysocket init fail.(10093)
====================================================================
그러면 아래와 같이 생성자에 "AfxSocketInit();" 를 추가한다.
====================================================================
CABCDlg::CABCDlg(CWnd* pParent /*=NULL*/)
: CDialog(CABCDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
AfxSocketInit();//요 친구를 추가하는 것이다
}
====================================================================
짜잔~
빌드중 아래와 같은 에러가 발생한다면...
abcdlg.cpp(0) : error C3861: 'AfxSocketInit': identifier not found
====================================================================
인클루드를 추가한다.
#include "afxsock.h"
====================================================================
====================================================================
여기까지다~ 이후에 발생한 에러는 삽질의 시작을 의미한다!!
====================================================================
세상을 보는 세번째 시선
행복을 향하는 시선 만들기 좋은 개발자 되기
2011년 11월 11일 금요일
2011년 11월 10일 목요일
MFC Richedit2 텍스트 추가하고, 자동으로 줄 증가하는 코드와, 속성값 설정
void CABCDlg::AppendRichEditText(LPCTSTR str){
int nBegin = richEdit2.GetTextLength();
richEdit2.SetSel(nBegin, nBegin);
richEdit2.ReplaceSel(str);
CString lastChar;
richEdit2.GetWindowTextW(lastChar);
if(lastChar.Right(1).Compare(_T("\n")) != 0)
{
int nNewBegin = richEdit2.GetTextLength();
richEdit2.SetSel(nNewBegin, nNewBegin);
richEdit2.ReplaceSel(_T("\n"));
}
}
richEdit2.GetWindowTextW(lastChar);
if(lastChar.Right(1).Compare(_T("\n")) != 0)
{
int nNewBegin = richEdit2.GetTextLength();
richEdit2.SetSel(nNewBegin, nNewBegin);
richEdit2.ReplaceSel(_T("\n"));
}
}
2011년 9월 16일 금요일
ubuntu 11.04 login - black screen - login again
한시간 넘게 삽질햇다..
그래도 구글이 효자
* error msg)
~# cat .xsession-error
can't open /usr/share/im-config/xinputrc.common
* solution)
Reboot -> Enter GRUB (Hold SHIFT key)
step1) recovery mode
step2) resume
step3) login as user
step4) sudo apt-get install im-config
step5) Reboot -> xwindow -> login success!!
그래도 구글이 효자
* error msg)
~# cat .xsession-error
can't open /usr/share/im-config/xinputrc.common
* solution)
Reboot -> Enter GRUB (Hold SHIFT key)
step1) recovery mode
step2) resume
step3) login as user
step4) sudo apt-get install im-config
step5) Reboot -> xwindow -> login success!!
2011년 9월 9일 금요일
qt compile for arm
set path
emacs .qte
# source .qte
emacs .qte
export $QTDIR=/qt4/qt-arm
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTINC=$QTDIR/include
export QTLIB=$QTDIR/lib
export qt_prefix=$QTDIR
save# source .qte
2011년 9월 8일 목요일
setting arm-cross-compiler on ubuntu 11.04
extract arm-cross-compiler to /opt
edit .bashrc
emacs .bashrc
add
source .bashrc
edit .bashrc for root
edit .bashrc
emacs .bashrc
add
export PATH=/opt/usr/bin:$PATH
save donesource .bashrc
edit .bashrc for root
sudo su
emacs .bashrc
export PATH=/opt/usr/bin:$PATH
2011년 8월 17일 수요일
2011년 8월 13일 토요일
Qt bug- MainWindow.exe exited with code -1073741819
QAction *cutAction
...
editMenu = menuBar()->addMenu(tr("&Edit"));
editMenu->addAction(cutAction);
위의 코드에서 cutAction 항목을 포인터로 선언 후에 초기화 하지 않고 사용하면 에러가 발생한다
(해법은 "QAction *cutAction = new QAction;"
Qt Creator 에서 실행하면 아래와 같은 텍스트 메시지가...
C:\Users\gekosoft\Documents\workspace\MainWindow\debug\MainWindow.exe exited with code -1073741819
윈도우에서 실행하면 아래와 같은 다이얼로그가
이클립스에서 실행하면...아무 반응이 없다 ㅠ_ㅠ
난 이클립스가 젤 편한디...
추가(아래의 코드도 위와 동일한 현상이 발생함)...왠지 어려워 지고 있다
QString Spreadsheet::currentFormula() const
{
// return "";
}
피드 구독하기:
게시물 (Atom)
