/// <summary> /// 프로젝트 리스트를 조회한다. /// </summary> private void QrySectionList() { CHeader Header = new CHeader(UserInfo.UserID, "A0110A", "XtraQrySection", "00000", ""); DataTable data = new DataTable("section_list"); DataColumn colSectionGroupCd = new DataColumn("section_group_cd", typeof(string)); DataColumn colSectionGroupNm = new DataColumn("section_group_nm", typeof(string)); data.Columns.Add(colSectionGroupCd); data.Columns.Add(colSectionGroupNm); DataRow Dr = data.NewRow(); Dr["section_group_cd"] = edtGroupCd.Text; Dr["section_group_nm"] = edtGroupNm.Text; data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.QryData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); DataTable Data = ds.Tables["Table"]; gridControl1.DataSource = Data; }
/// <summary> /// 자재및 장비 TreeList 정보를 조회한다. /// </summary> private void QryData() { CHeader Header = new CHeader(UserInfo.UserID, "A0111D", "XtraQryProject", "00000", ""); DataTable data = new DataTable("item_list"); DataColumn colItemParent = new DataColumn("item_parent", typeof(string)); data.Columns.Add(colItemParent); DataRow Dr = data.NewRow(); Dr["item_parent"] = "test"; data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.QryData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); DataTable Data = ds.Tables["Table"]; treeList1.DataSource = Data; }
private void QrySectionList() { try { CHeader Header = new CHeader(UserInfo, "A0120A", "XtraQrySection", "00000", ""); DataTable data = new DataTable("section_list"); DataColumn colSectionGroupCd = new DataColumn("section_group_cd", typeof(string)); data.Columns.Add(colSectionGroupCd); DataRow Dr = data.NewRow(); Dr["section_group_cd"] = lookupGroup.GetColumnValue("section_group_cd"); data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.QryData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); DataTable Data = ds.Tables["Table"]; gridControl1.DataSource = Data; } catch (Exception ex) { throw ex; } }
private void BtnQryManhole_Click(object sender, EventArgs e) { CHeader Header = new CHeader(UserInfo.UserID, "A1002A", "XtraPLH", "00000", ""); DataTable Data = new DataTable("PlhInfo"); DataColumn colProjectCd = new DataColumn("project_cd", typeof(string)); Data.Columns.Add(colProjectCd); DataRow Dr = Data.NewRow(); Dr["project_cd"] = ProjectInfo.ProjectCD; Data.Rows.Add(Dr); //Project 정보를 담은 ... CParam Param = new CParam(Data); using (DataSet ds = CTransfer.QryData(Header, Param.GetDataSet())) { DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); DataTable rcvData = ds.Tables["Table"]; gridControl1.DataSource = rcvData; } }
/// <summary> /// 대분류 정보를 lookup Editor에 출력 /// </summary> private void LoadMngrGb() { CHeader Header = new CHeader(UserInfo.UserID, "A0111A", "XtraMngrTp", "00000", ""); DataTable data = new DataTable("section_list"); DataColumn colSectionGroupNm = new DataColumn("mngr_gb_nm", typeof(string)); data.Columns.Add(colSectionGroupNm); DataRow Dr = data.NewRow(); Dr["mngr_gb_nm"] = ""; data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.QryData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); DataTable Data = ds.Tables["Table"]; lookUpMngrGb.Properties.DataSource = Data; }
private void AddTreeNode(string strTreeNode) { try { CHeader Header = new CHeader(UserInfo.UserID, "A0111F", "XtraItemDlg", "00000", ""); DataTable data = new DataTable("item_list"); DataColumn colItemParent = new DataColumn("parent", typeof(string)); DataColumn colItemitem = new DataColumn("item_name", typeof(string)); data.Columns.Add(colItemParent); data.Columns.Add(colItemitem); DataRow Dr = data.NewRow(); Dr["parent"] = treeList1.FocusedNode["item_key"].ToString(); Dr["item_name"] = strTreeNode; data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.QryData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); if (Dt.Rows[0]["err_cd"].ToString() != "00000") { XtraMessageBox.Show("서버 저장중 오류가 발생했습니다.재 조회후 다시 처리 합시다."); return; } else { /* * 정상처리 된 후 TreeNode를 추가한다. */ QryData(); } } catch (Exception err) { string strMsg = string.Format("{0}[{1}]", "서버 저장중 오류가 발생했습니다. 재 조회후 다시 처리 합시다.", err.Message.ToString()); XtraMessageBox.Show(strMsg); return; } }
private bool PrepairModule(ref byte[] data) { checked { try { int pModule = WorldServiceLocator._WS_Warden.ByteArrPtr(ref data); object?obj = Marshal.PtrToStructure(new IntPtr(pModule), typeof(CHeader)); Header = ((obj != null) ? ((CHeader)obj) : default);
/// <summary> /// 신규 중분류를 등록한다. /// </summary> private void InsertSection() { try { CHeader Header = new CHeader(UserInfo.UserID, "A0113B", "XtraMngrCd", "00000", ""); DataTable data = new DataTable("section_list"); DataColumn colSectionMngrGb = new DataColumn("mngr_gb", typeof(Int32)); DataColumn colSectionMngrTp = new DataColumn("mngr_tp", typeof(Int32)); DataColumn colSectionMngrCdNm = new DataColumn("mngr_cd_nm", typeof(string)); DataColumn colSectionUnitTp = new DataColumn("unit_tp", typeof(string)); DataColumn colSectionUnit = new DataColumn("unit", typeof(double)); data.Columns.Add(colSectionMngrGb); data.Columns.Add(colSectionMngrTp); data.Columns.Add(colSectionMngrCdNm); data.Columns.Add(colSectionUnitTp); data.Columns.Add(colSectionUnit); DataRow Dr = data.NewRow(); //Dr.ItemArray = gridView1.GetFocusedDataRow().ItemArray.Clone() as object[]; Dr["mngr_gb"] = gridView1.GetFocusedDataRow()["mngr_gb"]; Dr["mngr_tp"] = gridView1.GetFocusedDataRow()["mngr_tp"]; Dr["mngr_cd_nm"] = gridView1.GetFocusedDataRow()["mngr_cd_nm"]; Dr["unit_tp"] = gridView1.GetFocusedDataRow()["unit_tp"]; Dr["unit"] = gridView1.GetFocusedDataRow()["unit"]; data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.InsertData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); if (itemErrCd.Caption == "00000") { //DataTable dt1 = ds.Tables["Table"]; //edtGroupCd.Text = dt1.Rows[0]["cnt"].ToString(); QrySectionList(); } } catch (Exception ex) { throw ex; } //DataTable Data = ds.Tables["Table"]; //gridControl1.DataSource = Data; }
private void btnSavePipeTool_Click(object sender, EventArgs e) { if (m_strFileName.Trim() == "") { XtraMessageBox.Show("PIPE TOOLS 파일이 없습니다."); return; } CPipetools pipetoolsData = new CPipetools(ProjectInfo.ProjectCD, Path.GetFileNameWithoutExtension(m_strFileName), sheetPipeTools); pipetoolsData.LoadDataTools(); try { pipetoolsData.m_dt_line.TableName = "pipetool"; pipetoolsData.m_dt_지장물.TableName = "pipetool_g"; pipetoolsData.m_dt_포장.TableName = "pipetool_pavement"; } catch (Exception ex) { itemErrCd.Caption = "ERROR"; itemErrMsg.Caption = ex.Message; throw; } CHeader Header = new CHeader(UserInfo.UserID, "A1301A", "XtraPlH", "00000", ""); //Project 정보를 담은 ... CParam Param = new CParam(pipetoolsData.m_dt_line); Param.AddDataTable(pipetoolsData.m_dt_지장물); Param.AddDataTable(pipetoolsData.m_dt_포장); using (DataSet ds = CTransfer.InsertData(Header, Param.GetDataSet())) { DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); if (Dt.Rows[0]["err_cd"].ToString() == "00000") { QryMaxerInput(); } } }
private void LoadMngrTp() { if (lookUpMngrGb.Properties.DataSource is null) { itemErrCd.Caption = "ERROR"; itemErrMsg.Caption = "대분류 선택을 확인하세요 (null)"; return; } if (lookUpMngrGb.Text == "NO DATA") { itemErrCd.Caption = "ERROR"; itemErrMsg.Caption = "대분류 선택을 확인하세요 (no data)"; return; } CHeader Header = new CHeader(UserInfo.UserID, "A0112A", "XtraMngrCd", "00000", ""); DataTable data = new DataTable("section_list"); DataColumn colMngrGb = new DataColumn("mngr_gb", typeof(Int32)); DataColumn colMngrTpNm = new DataColumn("mngr_tp_nm", typeof(string)); data.Columns.Add(colMngrGb); data.Columns.Add(colMngrTpNm); DataRow Dr = data.NewRow(); Dr["mngr_gb"] = Convert.ToInt32(lookUpMngrGb.GetColumnValue("mngr_gb").ToString()); Dr["mngr_tp_nm"] = ""; data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.QryData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); DataTable Data = ds.Tables["Table"]; lookUpMngrTp.Properties.DataSource = Data; }
private void InsertSection() { try { CHeader Header = new CHeader(UserInfo.UserID, "A0110B", "XtraQrySection", "00000", ""); DataTable data = new DataTable("section_list"); DataColumn colSectionGroupCd = new DataColumn("section_group_cd", typeof(string)); DataColumn colSectionGroupNm = new DataColumn("section_group_nm", typeof(string)); data.Columns.Add(colSectionGroupCd); data.Columns.Add(colSectionGroupNm); DataRow Dr = data.NewRow(); Dr.ItemArray = gridView1.GetFocusedDataRow().ItemArray.Clone() as object[]; data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.InsertData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); if (itemErrCd.Caption == "00000") { DataTable dt1 = ds.Tables["Table"]; edtGroupCd.Text = dt1.Rows[0]["cnt"].ToString(); QrySectionList(); } } catch (Exception ex) { throw ex; } //DataTable Data = ds.Tables["Table"]; //gridControl1.DataSource = Data; }
/// <summary> /// 프로젝트 리스트를 조회한다. /// </summary> private void QrySectionList() { try { CHeader Header = new CHeader(UserInfo.UserID, "A0113A", "XtraMngrCd", "00000", ""); DataTable data = new DataTable("section_list"); DataColumn colMngrGb = new DataColumn("mngr_gb", typeof(Int32)); DataColumn colMngrTp = new DataColumn("mngr_tp", typeof(Int32)); DataColumn colMngrCdNm = new DataColumn("mngr_cd_nm", typeof(string)); data.Columns.Add(colMngrGb); data.Columns.Add(colMngrTp); data.Columns.Add(colMngrCdNm); DataRow Dr = data.NewRow(); Dr["mngr_gb"] = Convert.ToInt32(lookUpMngrGb.GetColumnValue("mngr_gb").ToString()); Dr["mngr_tp"] = Convert.ToInt32(lookUpMngrTp.GetColumnValue("mngr_tp").ToString()); Dr["mngr_cd_nm"] = edtMngrCdNm.Text; data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.QryData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); DataTable Data = ds.Tables["Table"]; gridControl1.DataSource = Data; } catch (Exception ex) { itemErrCd.Caption = "ERROR"; itemErrMsg.Caption = ex.Message; } }
private void QryMassCalc() { if (xtraTabControl2.SelectedTabPage.Text == "토적표") { CHeader Header = new CHeader(UserInfo.UserID, "A1003A", "XtraPLH", "00000", ""); DataTable Data = new DataTable("PlhInfo"); DataColumn colProjectCd = new DataColumn("project_cd", typeof(string)); Data.Columns.Add(colProjectCd); DataRow Dr = Data.NewRow(); Dr["project_cd"] = ProjectInfo.ProjectCD; Data.Rows.Add(Dr); //Project 정보를 담은 ... CParam Param = new CParam(Data); using (DataSet ds = CTransfer.QryData(Header, Param.GetDataSet())) { DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); DataTable rcvData = ds.Tables["Table"]; gridControl3.DataSource = rcvData; } } }
private void InsertData() { try { DataTable chkTable = (DataTable)gridControl3.DataSource; if (chkTable == null) { MessageBox.Show("데이터가 없습니다."); return; } CHeader Header = new CHeader(UserInfo, "A1003B", "XtraQrySection", "00000", ""); DataTable data = new DataTable("section_list"); DataColumn colProjectCd = new DataColumn("project_cd", typeof(string)); DataColumn colKey = new DataColumn("key", typeof(Int32)); DataColumn colyoungsu_m2 = new DataColumn("yongsu_m2", typeof(double)); DataColumn col보도블럭_석분_m2 = new DataColumn("보도블럭_석분_m2", typeof(double)); DataColumn col덧씌우기_asp_m = new DataColumn("덧씌우기_asp_m", typeof(double)); DataColumn col덧씌우기_asp_con_m = new DataColumn("덧씌우기_asp_con_m", typeof(double)); data.Columns.Add(colProjectCd); data.Columns.Add(colKey); data.Columns.Add(colyoungsu_m2); data.Columns.Add(col보도블럭_석분_m2); data.Columns.Add(col덧씌우기_asp_m); data.Columns.Add(col덧씌우기_asp_con_m); //DataRow Dr = data.NewRow(); //Dr["section_group_cd"] = lookupGroup.GetColumnValue("section_group_cd"); //Dr["section_id"] = edtSectionId.Text; //Dr["section_id_nm"] = edtSectionIdNm.Text; //Dr["asphalt1"] = edtAsphalt1.Text; //Dr["asphalt2"] = edtAsphalt2.Text; //Dr["complay"] = edtCompLay.Text; //Dr["mixlay"] = edtMixLay.Text; //Dr["desc"] = edtDesc.Text; DataRow Dr = data.NewRow(); Dr["project_cd"] = ProjectInfo.ProjectCD; Dr["key"] = advBandedGridView1.GetFocusedDataRow()["key"]; Dr["yongsu_m2"] = advBandedGridView1.GetFocusedDataRow()["yongsu_m2"]; Dr["보도블럭_석분_m2"] = advBandedGridView1.GetFocusedDataRow()["보도블럭_석분_m2"]; Dr["덧씌우기_asp_m"] = advBandedGridView1.GetFocusedDataRow()["덧씌우기_asp_m"]; Dr["덧씌우기_asp_con_m"] = advBandedGridView1.GetFocusedDataRow()["덧씌우기_asp_con_m"]; //Dr.ItemArray = advBandedGridView1.GetFocusedDataRow().ItemArray.Clone() as object[]; data.Rows.Add(Dr); //data.Rows.Add(.); CParam Param = new CParam(data); DataSet ds = CTransfer.InsertData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); ///정상등록된 경우만 최종 결과값을 재 조회한다. if (Dt.Rows[0]["err_cd"].ToString() == "00000") { //QryList(); } // DataTable Data = ds.Tables["Table"]; // gridControl1.DataSource = Data; } catch (Exception ex) { throw ex; } }
/// <summary> /// Drop 하기 전에 이벤트를 처리한다. /// 아이템 밑에 아이템은 불가 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TreeList1_BeforeDropNode(object sender, DevExpress.XtraTreeList.BeforeDropNodeEventArgs e) { Console.WriteLine("aaaa"); if (treeList1.FindNodeByID(e.DestinationNode.Id)["node_tp"].ToString() == "2") { XtraMessageBox.Show("아이템은 하위 정보를 가질 수 없습니다. Node를 생성하세요"); e.Cancel = true; return; } int parent_key, item_key; try { parent_key = Convert.ToInt16(treeList1.FindNodeByID(e.DestinationNode.Id)["item_key"]); item_key = Convert.ToInt16(treeList1.FindNodeByID(e.SourceNode.Id)["item_key"]); CHeader Header = new CHeader(UserInfo.UserID, "A0111E", "XtraItemDlg", "00000", ""); DataTable data = new DataTable("item_list"); DataColumn colItemParent = new DataColumn("parent", typeof(int)); DataColumn colItemitem = new DataColumn("item_key", typeof(int)); data.Columns.Add(colItemParent); data.Columns.Add(colItemitem); DataRow Dr = data.NewRow(); Dr["parent"] = parent_key; Dr["item_key"] = item_key; data.Rows.Add(Dr); CParam Param = new CParam(data); DataSet ds = CTransfer.QryData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); if (Dt.Rows[0]["err_cd"].ToString() != "00000") { XtraMessageBox.Show("서버 저장중 오류가 발생했습니다.재 조회후 다시 처리 합시다."); e.Cancel = true; return; } } catch (Exception err) { string strMsg = string.Format("{0}[{1}]", "서버 저장중 오류가 발생했습니다. 재 조회후 다시 처리 합시다.", err.Message.ToString()); XtraMessageBox.Show(strMsg); e.Cancel = true; return; } }
private bool PrepairModule(ref byte[] data) { checked { try { var pModule = WorldServiceLocator._WS_Warden.ByteArrPtr(ref data); var obj = Marshal.PtrToStructure(new IntPtr(pModule), typeof(CHeader)); Header = (obj != null) ? ((CHeader)obj) : default; dwModuleSize = Header.dwModuleSize; if (dwModuleSize < int.MaxValue) { m_Mod = WorldServiceLocator._WS_Warden.Malloc(dwModuleSize); if (m_Mod != 0) { Marshal.Copy(data, 0, (IntPtr)m_Mod, 40); var index = 40 + (Header.dwChunkCount * 3 * 4); var dwChunkDest = m_Mod + BitConverter.ToInt32(data, 40); var dwModuleEnd = m_Mod + dwModuleSize; var bCopyChunk = true; while (dwChunkDest < dwModuleEnd) { int dwCurrentChunkSize = BitConverter.ToInt16(data, index); index += 2; if (bCopyChunk) { Marshal.Copy(data, index, new IntPtr(dwChunkDest), dwCurrentChunkSize); index += dwCurrentChunkSize; } dwChunkDest += dwCurrentChunkSize; bCopyChunk = !bCopyChunk; } WorldServiceLocator._WorldServer.Log.WriteLine(LogType.DEBUG, "[WARDEN] Update..."); WorldServiceLocator._WorldServer.Log.WriteLine(LogType.DEBUG, "[WARDEN] Update: Adjusting references to global variables..."); var pbRelocationTable = m_Mod + Header.dwSizeOfCode; var dwRelocationIndex = 0; var dwLastRelocation = 0; while (dwRelocationIndex < Header.dwRelocationCount) { int dwValue = Marshal.ReadByte(new IntPtr(pbRelocationTable)); if (dwValue < 0) { dwValue = (dwValue & 0x7F) << 8; dwValue = (dwValue + Marshal.ReadByte(new IntPtr(checked (pbRelocationTable + 1)))) << 8; dwValue = (dwValue + Marshal.ReadByte(new IntPtr(checked (pbRelocationTable + 2)))) << 8; dwValue += Marshal.ReadByte(new IntPtr(checked (pbRelocationTable + 3))); pbRelocationTable += 4; var old2 = Marshal.ReadInt32(new IntPtr(m_Mod + dwValue)); Marshal.WriteInt32(new IntPtr(m_Mod + dwValue), m_Mod + old2); } else { dwValue = (dwValue << 8) + dwLastRelocation + Marshal.ReadByte(new IntPtr(checked (pbRelocationTable + 1))); pbRelocationTable += 2; var old = Marshal.ReadInt32(new IntPtr(m_Mod + dwValue)); Marshal.WriteInt32(new IntPtr(m_Mod + dwValue), m_Mod + old); } dwRelocationIndex++; dwLastRelocation = dwValue; } WorldServiceLocator._WorldServer.Log.WriteLine(LogType.DEBUG, "[WARDEN] Update: Updating API library references..."); var dwLibraryIndex = 0; while (dwLibraryIndex < Header.dwLibraryCount) { var obj2 = Marshal.PtrToStructure(new IntPtr(m_Mod + Header.dwLibraryTable + (dwLibraryIndex * 8)), typeof(CLibraryEntry)); var pLibraryTable = (obj2 != null) ? ((CLibraryEntry)obj2) : default; var procLib = Marshal.PtrToStringAnsi(new IntPtr(m_Mod + pLibraryTable.dwFileName)); WorldServiceLocator._WorldServer.Log.WriteLine(LogType.DEBUG, " Library: {0}", procLib); var hModule = NativeMethods.LoadLibrary(procLib, ""); if (hModule != 0) { var dwImports = m_Mod + pLibraryTable.dwImports; var dwCurrent = Marshal.ReadInt32(new IntPtr(dwImports)); while (dwCurrent != 0) { var procAddr = 0; dwCurrent = Marshal.ReadInt32(new IntPtr(dwImports)); if (dwCurrent <= 0) { dwCurrent &= 0x7FFFFFFF; procAddr = (int)(uint)NativeMethods.GetProcAddress((IntPtr)hModule, Convert.ToString(new IntPtr(dwCurrent)), ""); WorldServiceLocator._WorldServer.Log.WriteLine(LogType.DEBUG, " Ordinary: 0x{0:X8}", dwCurrent); } else { var procFunc = Marshal.PtrToStringAnsi(new IntPtr(m_Mod + dwCurrent)); var procRedirector = typeof(ApiRedirector).GetMethod("my" + procFunc); var procDelegate = typeof(ApiRedirector).GetNestedType("d" + procFunc); if (procRedirector is null || procDelegate is null) { procAddr = (int)(uint)NativeMethods.GetProcAddress((IntPtr)hModule, procFunc, ""); WorldServiceLocator._WorldServer.Log.WriteLine(LogType.DEBUG, " Function: {0} @ 0x{1:X8}", procFunc, procAddr); } else { delegateCache.Add(procFunc, Delegate.CreateDelegate(procDelegate, procRedirector)); procAddr = (int)Marshal.GetFunctionPointerForDelegate(delegateCache[procFunc]); WorldServiceLocator._WorldServer.Log.WriteLine(LogType.DEBUG, " Function: {0} @ MY 0x{1:X8}", procFunc, procAddr); } Marshal.WriteInt32(new IntPtr(dwImports), procAddr); } dwImports += 4; } } dwLibraryIndex++; dwLibraryCount++; } for (var dwIndex = 0; dwIndex < Header.dwChunkCount; dwIndex++) { var pdwChunk2 = m_Mod + ((10 + (dwIndex * 3 * 4)) * 4); var dwOldProtect = 0u; var lpAddress = m_Mod + Marshal.ReadInt32(new IntPtr(pdwChunk2)); var dwSize = Marshal.ReadInt32(new IntPtr(pdwChunk2 + 4)); var flNewProtect = Marshal.ReadInt32(new IntPtr(pdwChunk2 + 8)); var lpflOldProtect = (int)dwOldProtect; NativeMethods.VirtualProtect(lpAddress, dwSize, flNewProtect, ref lpflOldProtect, ""); dwOldProtect = (uint)lpflOldProtect; if ((unchecked ((uint)flNewProtect) & 0xF0u) != 0) { NativeMethods.FlushInstructionCache(NativeMethods.GetCurrentProcess(""), lpAddress, dwSize, ""); } } var bUnload = true; if (Header.dwSizeOfCode < dwModuleSize) { var dwOffset = (Header.dwSizeOfCode + 4095) & -4096; if (dwOffset >= Header.dwSizeOfCode && dwOffset > dwModuleSize) { NativeMethods.VirtualFree(m_Mod + dwOffset, dwModuleSize - dwOffset, 16384, ""); } bUnload = false; } return(!bUnload); } return(false); }
private void InsertData() { try { DataTable chkTable = (DataTable)gridControl1.DataSource; if (chkTable == null) { MessageBox.Show("데이터가 없습니다."); return; } CHeader Header = new CHeader(UserInfo, "A0120B", "XtraQrySection", "00000", ""); DataTable data = new DataTable("section_list"); DataColumn colSectionGroupCd = new DataColumn("section_group_cd", typeof(string)); DataColumn colSectionId = new DataColumn("section_id", typeof(string)); DataColumn colSectionNm = new DataColumn("section_id_nm", typeof(string)); DataColumn colAsphalt1 = new DataColumn("asphalt1", typeof(double)); DataColumn colAsphalt2 = new DataColumn("asphalt2", typeof(double)); DataColumn colComplay = new DataColumn("complay", typeof(double)); DataColumn colMixlay = new DataColumn("mixlay", typeof(double)); DataColumn colDesc = new DataColumn("desc", typeof(string)); data.Columns.Add(colSectionGroupCd); data.Columns.Add(colSectionId); data.Columns.Add(colSectionNm); data.Columns.Add(colAsphalt1); data.Columns.Add(colAsphalt2); data.Columns.Add(colComplay); data.Columns.Add(colMixlay); data.Columns.Add(colDesc); //DataRow Dr = data.NewRow(); //Dr["section_group_cd"] = lookupGroup.GetColumnValue("section_group_cd"); //Dr["section_id"] = edtSectionId.Text; //Dr["section_id_nm"] = edtSectionIdNm.Text; //Dr["asphalt1"] = edtAsphalt1.Text; //Dr["asphalt2"] = edtAsphalt2.Text; //Dr["complay"] = edtCompLay.Text; //Dr["mixlay"] = edtMixLay.Text; //Dr["desc"] = edtDesc.Text; DataRow Dr = data.NewRow(); Dr.ItemArray = gridView1.GetFocusedDataRow().ItemArray.Clone() as object[]; Dr["section_group_cd"] = lookupGroup.GetColumnValue("section_group_cd"); data.Rows.Add(Dr); //data.Rows.Add(.); CParam Param = new CParam(data); DataSet ds = CTransfer.InsertData(Header, Param.GetDataSet()); DataTable Dt = ds.Tables["eror_dt"]; itemErrCd.Caption = Dt.Rows[0]["err_cd"].ToString(); itemErrMsg.Caption = Dt.Rows[0]["err_msg"].ToString(); ///정상등록된 경우만 최종 결과값을 재 조회한다. if (Dt.Rows[0]["err_cd"].ToString() == "00000") { QrySectionList(); } // DataTable Data = ds.Tables["Table"]; // gridControl1.DataSource = Data; } catch (Exception ex) { throw ex; } }