똑똑해진느낌
[C#] 크로스 스레드 작업이 잘못되었습니다. 해결 방법
VB 나 C# 으로 스레드 및 폼 작업을 하다보면 아래와 같은 현상을 종종 만날 수 있다! [ System.InvalidOperationException ] 원인 : 공통으로 사용하는 오브젝트에 스레드들이 접근하게끔 프로그래밍이 되어 있어 발생하는 오류 (다른 스레드에서 컨트롤에 접근하려 할 때, 예외 발생 !!) 해결 방법 : 1) Delegate 와 Invoke를 따로 선언하고 호출해줌 ... (http://msdn.microsoft.com/ko-kr/library/ms171728(v=vs.100).aspx) 2) BackgroundWorker 로 다중 스레딩 사용 ( 상위와 동일 ) 3) "CheckForIllegalCrossThreadCalls = False" 지정 (임시방편, 크로스 스레드 오류..
[C#] Outlook OLE 객체 생성 오류(CO_E_SERVER_EXEC_FAILURE)
사무 자동화 프로그램 제작하여 배포를 하였는데, 특정 PC 메일 보내기 기능에서만 아래와 같은 Outlook 객체 생성 오류가 발생되었다. CO_E_SERVER_EXEC_FAILURE 오류 팝업 우선적으로, 문제되고 있는 PC들에서 CLSID를 호출해보았더니, // Outlook CLSID Type.GetTypeFromCLSID(new Guid("0006F03A-0000-0000-C000-000000000046")); 실제 사용 및 계정이 연동되어 있는 Outlook은 2013 인데, pc에 Default로 설치되어 있던 Outllook 2015 체험판이 올라왔다. 해당 pc 내에 Office 여러개가 있으면 해당 문제가 발생되는 것으로 보여진다. (Office bit는 무관하다.) 결국엔 사..
[C#] ClickOnce 배포에 사용할 개인키 만들기 (만료 기간 길게 설정)
1. Windows 10 SDK 설치 developer.microsoft.com Microsoft Developer developer.microsoft.com 2. C:\Program Files (x86)\Windows Kits\10\bin 내에 설치된 makecert.exe 파일 위치에서 Command 창 띄움 3. 하위 명령어 입력 (CN = 키이름 , 09/20/2018 시작일, 12/31/2040 만료일) makecert.exe -r -pe -n "CN=TEST_key" -b 09/20/2018 -e 12/31/2040 -sky exchange -ss my Succeeded 확인 후 다음 진행 4. Visual Studio에서 서명 ClickOnce Enable 후 저장소에서 선택하여, 개인 키 ..
[C#] MySQL DB를 DataSet으로 담기
MySQL DB를 DataSet에 담는 코드입니다. using MySql.Data.MySqlClient; private DataSet ds = new DataSet(); private string SQLConnStr = "Server=127.0.0.1;Uid=root;Pwd=****;Database=db"; public DataSet GetDataSet(string ConnectionString, string SQL, string ds_table) { MySqlConnection conn = new MySqlConnection(ConnectionString); MySqlDataAdapter da = new MySqlDataAdapter(); MySqlCommand cmd = conn.CreateComma..
[VB] Sleep, Delay, WaitTime 딜레이 주기
코드 사이에 딜레이를 줘야 할때가 있습니다! 아래와 같이 딜레이를 주시면 됩니다. // 1.Thread.Sleep 사용한 딜레이 주기 (millisecond, 1000=1초) Threading.Thread.Sleep(1000) // 2. Loop 로 딜레이 Public Sub delay(ByVal MilliSecond As Double) Dim delayTime As Date = Now.AddSeconds(MilliSecond/1000) Do Until Now > delayTime Application.DoEvents() Loop End Sub 뚜앗 !!!
[VB] ProgressBar 만들기
VB ProgressBar 만드는 방법에 대해 간단히 기록하려함. 1 . 우선 폼을 생성하고 폼 안에 BackgroundWorker를 추가합니다! ( Win10 느낌 물씬 나도록 디자인해봤음.... ) 2. 소스 코드를 넣어야겠쥬? 실행을 시키면 곧장 폼이 뜨면서 로딩이 진행되도록! (BackgroundWorker를 사용하여 비동기적으로 구현) Imports System.ComponentModel Public Class Loading Private Sub loading_from_Load(sender As Object, e As EventArgs) Handles MyBase.Load Label2.Text = "0%" // BackgroundWorker가 진행률 업데이트를 지원하면 true (기본값은 fal..