쓰레드 사용법

[링크 : http://blog.naver.com/myrinoa8/140129819777] 다이얼로그 변수/함수 사용하기

[링크 : http://dosnipe.tistory.com/20] 쓰레드 생성 AfxBeginThread

[링크 : http://blog.naver.com/mincheol9166/220718941148] 쓰레드 종료 SuspendThread


쓰레드에서 UpdateData() 오류시

간단하게 설명(?)하면 그러면 안되니까 SendMessage를 쓰레드에서 다이얼로그로 던져서 처리하도록 해라~

[링크 : http://blog.naver.com/pointer98/150043664789]

신고
Posted by 구차니

댓글을 달아 주세요

다이얼로그를 ShowWindow(SW_SHOW)를 통해 표시한 경우

이에 대한 상태를 받아 오려면 꽤나 귀찮아 지네..

간단하게 GetShowWindow()라던가 GetWindowStatus() 이런게 있으면 참 좋을텐데..


if (!IsWindowVisible(hWnd))

    swState = SW_HIDE;

else

if (IsIconic(hWnd))

    swState = SW_MINIMIZE;

else

if (IsZoomed(hWnd))

    swState = SW_MAXIMIZE;

else

{

    // not hidden, minimized or zoomed, so we are a normal visible window

    // last ShowWindow flag could have been SW_RESTORE, SW_SHOW, SW_SHOWNA, etc

    // no way to tell

    swState = SW_SHOW;

[링크 : https://stackoverflow.com/questions/28266448/get-the-last-showwindow-state-for-a-window-in-winapi]

[링크 : https://stackoverflow.com/questions/1432336/how-to-find-a-windows-sw-show-sw-hide-status]



+

귀찮으니 단순화 하기 ㅋㅋ

  if(pDlg)

{

if(pDlg->IsWindowVisible())

pDlg->ShowWindow(SW_HIDE);

else pDlg->ShowWindow(SW_SHOW);

}


신고
Posted by 구차니

댓글을 달아 주세요

희한하게 Rich edit만 추가하면 빌드는 되는데 실행하면 깜깜 무소식인 문제가 있어서

확인을 해보니 DoModal() 에서 죽어버려서 미궁이 빠진적이...


아무튼 오늘 문득 생각이 나서 찾아보니

InitInstance() 에서

AfxInitRichEdit(); 

를 해주어야 문제없이 작동됨을 확인!


BOOL CtestApp::InitInstance()

{

// 응용 프로그램 매니페스트가 ComCtl32.dll 버전 6 이상을 사용하여 비주얼 스타일을

// 사용하도록 지정하는 경우, Windows XP 상에서 반드시 InitCommonControlsEx()가 필요합니다.

// InitCommonControlsEx()를 사용하지 않으면 창을 만들 수 없습니다.

INITCOMMONCONTROLSEX InitCtrls;

InitCtrls.dwSize = sizeof(InitCtrls);

// 응용 프로그램에서 사용할 모든 공용 컨트롤 클래스를 포함하도록

// 이 항목을 설정하십시오.

InitCtrls.dwICC = ICC_WIN95_CLASSES;

InitCommonControlsEx(&InitCtrls);


CWinApp::InitInstance();



AfxEnableControlContainer();

AfxInitRichEdit();


// 대화 상자에 셸 트리 뷰 또는

// 셸 목록 뷰 컨트롤이 포함되어 있는 경우 셸 관리자를 만듭니다.

CShellManager *pShellManager = new CShellManager;


// 표준 초기화

// 이들 기능을 사용하지 않고 최종 실행 파일의 크기를 줄이려면

// 아래에서 필요 없는 특정 초기화

// 루틴을 제거해야 합니다.

// 해당 설정이 저장된 레지스트리 키를 변경하십시오.

// TODO: 이 문자열을 회사 또는 조직의 이름과 같은

// 적절한 내용으로 수정해야 합니다.

SetRegistryKey(_T("로컬 응용 프로그램 마법사에서 생성된 응용 프로그램"));


CtestDlg dlg;

m_pMainWnd = &dlg;

INT_PTR nResponse = dlg.DoModal();

if (nResponse == IDOK)

{

// TODO: 여기에 [확인]을 클릭하여 대화 상자가 없어질 때 처리할

//  코드를 배치합니다.

}

else if (nResponse == IDCANCEL)

{

// TODO: 여기에 [취소]를 클릭하여 대화 상자가 없어질 때 처리할

//  코드를 배치합니다.

}


// 위에서 만든 셸 관리자를 삭제합니다.

if (pShellManager != NULL)

{

delete pShellManager;

}


// 대화 상자가 닫혔으므로 응용 프로그램의 메시지 펌프를 시작하지 않고  응용 프로그램을 끝낼 수 있도록 FALSE를

// 반환합니다.

return FALSE;

}

 



[링크 : http://ospace.tistory.com/171]

신고
Posted by 구차니

댓글을 달아 주세요

쓸일이 있어서 해보는데.. 당연한 내용이겠지만...

포인터가 아니라 변수로 만들면 scope를 벗어 나면서 바로 해당 클래스가 파괴되면서 창이 닫힌다.

그런 이유로 new를 이용해서 생성을 해주어야 한다.


void CtestDlg::OnBnClickedButton12()

{

// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.

// CFileUploader dlg;

// dlg.Create(IDD_UPLOAD_DIALOG, this);

// dlg.ShowWindow(SW_SHOW);


CFileUploader *pDlg =  new CFileUploader();

if(pDlg)

{

pDlg->Create(IDD_UPLOAD_DIALOG);

pDlg->ShowWindow(SW_SHOW);

}


그나저나.. 그냥 저렇게 해두니 버튼 누를때 마다 창이 증식하네 ㅋㅋㅋ


[링크 : http://lapislazull.tistory.com/80]

[링크 : http://j07051.tistory.com/107]

[링크 : http://heart4u.co.kr/tblog/318]


+

2017.08.07

모달리스 child dialog와 부모 통신하기

[링크 : http://blog.daum.net/finalz84/173]

[링크 : http://blog.naver.com/xtelite/50022212767]

신고
Posted by 구차니

댓글을 달아 주세요

테스트 프로그램 만드는데 분석 내용을

좀더 꾸며서 해보겠다는 욕심으로

모양만 만들때 richedit을 넣어서 했더니

MFC 다이얼로그가 안뜬다 -ㅁ-?


먼가 해서 하나씩 뒤져보니

메인 다이얼로그를 doModal() 할때 죽어 버리는데

혹시나 해서 기존 버전들과 비교를 해보니 richedit이 하나 추가된게 발견!

설마하고 rc 파일에서 해당 내용만 삭제하니 문제없이 실행!


뭐야 -_-???

VS2010 버그인가?

신고
Posted by 구차니

댓글을 달아 주세요

Programming/php2017.07.24 18:48

return과 달리 exit()는 함수에서 호출해도 작동을 중지시킨다.



[링크 : http://www.w3im.com/ko/php/func_misc_exit.html]

신고

'Programming > php' 카테고리의 다른 글

php exit()  (0) 2017.07.24
PHP session_start(): Cannot send session cookie 경고 해결방법  (0) 2017.07.23
php 명령줄 실행에 post / get 인자 넘기기  (0) 2017.07.23
캐시 제어  (0) 2017.07.23
php session_destroy  (0) 2017.06.10
sql injection 방어  (0) 2017.04.26
Posted by 구차니

댓글을 달아 주세요

Programming/php2017.07.23 10:07

요런 에러가 발생해서 찾아보니..

PHP Warning:  session_start(): Cannot send session cookie - headers already sent by (output started at /home/pi/web/login_form.php:5) in /home/pi/web/login_form.php on line 11

PHP Stack trace:

PHP   1. {main}() /home/pi/web/login_form.php:0

PHP   2. session_start() /home/pi/web/login_form.php:11 


해결하려면 session_start()를 가장 위로 올리면 된다.

  1 <?php

  2         session_start();

  3 ?>

  4 <html>

  5 <head>

  6 <script src="./jquery-3.1.1.min.js"></script>

  7 </head>

  8 <?php

  9         include('./func_db.php');

 10

 11 //      session_start(); 


[링크 : https://stackoverflow.com/.../warning-session-start-cannot-send-session-cookie-headers-already-sent-by]

신고

'Programming > php' 카테고리의 다른 글

php exit()  (0) 2017.07.24
PHP session_start(): Cannot send session cookie 경고 해결방법  (0) 2017.07.23
php 명령줄 실행에 post / get 인자 넘기기  (0) 2017.07.23
캐시 제어  (0) 2017.07.23
php session_destroy  (0) 2017.06.10
sql injection 방어  (0) 2017.04.26
Posted by 구차니

댓글을 달아 주세요

Programming/php2017.07.23 09:46

이런식으로 하니 header 교체 할 수 없다고 에러가 나네.. 머가 잘못된걸까 ㅠㅠ

아무튼 디버깅용으로 이렇게 명령줄에서 post 날릴수 있으니 편하긴 하다


$ echo "loginid=user&loginpw=pass" | REQUEST_METHOD=POST php login.php


이렇게 해도 되긴하네?

$ php login.php "loginid=user&loginpw=pass"


[링크 : https://stackoverflow.com/.../how-to-pass-parameters-from-command-line-to-post-in-php-script]

[링크 : https://alvinalexander.com/php/php-read-command-line-arguments-in-php]

신고

'Programming > php' 카테고리의 다른 글

php exit()  (0) 2017.07.24
PHP session_start(): Cannot send session cookie 경고 해결방법  (0) 2017.07.23
php 명령줄 실행에 post / get 인자 넘기기  (0) 2017.07.23
캐시 제어  (0) 2017.07.23
php session_destroy  (0) 2017.06.10
sql injection 방어  (0) 2017.04.26
Posted by 구차니

댓글을 달아 주세요

Programming/php2017.07.23 09:26

PHP

로그인 예제를 자기 자신으로 돌아오게 해놨더니 안되서

이걸 적용해보았지만 여전히 안되네..


강제로 자기 자신을 refresh하게 해야하려나?

[링크 : http://civan.tistory.com/201]

신고

'Programming > php' 카테고리의 다른 글

PHP session_start(): Cannot send session cookie 경고 해결방법  (0) 2017.07.23
php 명령줄 실행에 post / get 인자 넘기기  (0) 2017.07.23
캐시 제어  (0) 2017.07.23
php session_destroy  (0) 2017.06.10
sql injection 방어  (0) 2017.04.26
망할 php define()  (0) 2017.04.25
Posted by 구차니

댓글을 달아 주세요

직접 구현을 해본적이 없어서 신기해서 조사


[링크 : http://jaiyun.tistory.com/5]

신고
Posted by 구차니

댓글을 달아 주세요