728x90

공부 134

[XG5000] END 레더 만들기 (XGI, XGK)

XG5000으로 시뮬레이터를 실행해야 하는데 에러가 발생했다.덕분에 처음 프로젝트를 만들고 [프로그램]에 END레더가 없으면 실행할 수 없다는 것을 알았다.그런데 END 레더를 그리는 기능이 어디 있는지 한참을 헤맸다.심지어 찾고 보니 PLC가 XGI인지 XGK인지에 따라 END 레더를 꺼낼 수 있는 위치가 다르다. XGI상단 메뉴의 [확장 펑션]을 클릭한 후 [프로그램] 탭 화면에 클릭한다.확장 명령어에서 END를 검색한 후 확인을 누르면 END레더가 그려진다.      XGK상단 메뉴의 [펑션/펑션블록]을 클릭한 후 [프로그램] 탭 화면에 클릭한다.확장 명령어에서 END를 검색한 후 확인을 누르면 END레더가 그려진다.

공부 2025.02.25

이 프로젝트에는 MFC 라이브러리가 필요합니다 해결법

오후 12:00에 빌드를 시작함...1>------ 빌드 시작: 프로젝트: Project, 구성: Debug x64 ------NU1903: 'SixLabors.ImageSharp' 3.1.3 패키지에 알려진 high 심각도 취약성인 https://github.com/advisories/GHSA-63p8-c4ww-9cg7이(가) 있습니다.NU1902: 'SixLabors.ImageSharp' 3.1.3 패키지에 알려진 moderate 심각도 취약성인 https://github.com/advisories/GHSA-qxrv-gp6x-rc23이(가) 있습니다.NU1902: 'SixLabors.ImageSharp' 3.1.3 패키지에 알려진 moderate 심각도 취약성인 https://github.com/ad..

공부 2025.01.23

[C#] RX Throttle과 ManualResetEventSlim으로 중복요청 필터링하기

어쩌다 보니 CPP/CLI 에서 메인으로 프로그램을 시작해서 버튼 등의 제어를 통해 C# 프로젝트에서 중계를 해주고 그 결과를 다시 CPP/CLI 프로젝트로 보내서 텍스트나 색으로 상태를 표현하는 프로그램을 제작하게 되었다.  문제는 메인에서 사용하는 IMGUI에서 버튼 등을 통해 딜레이 없이 짧은 시간에 한번에 많은 요청을 보낼 수 있다.그리고 통신 관련 DLL이 그런 요청을 그대로 받아들이면 내부에서 무한 로딩에 빠지는 문제가 있다. 또한 통신 객체의 연결 끊기 및 dispose도 제대로 처리되지 못한다. 메인 프로젝트의 imgui는 생소해서 새 기능을 구현하기 힘들고 통신 dll은 소스가 없어서 내가 수정할 수 없으니 그나마 뭔가 유연하게 고칠 수 있는 중계 프로젝트에서 처리를 해줘야 했다.   그..

공부 2025.01.20

[Devexpress Winform, c#] XtraMessageBox 버튼 텍스트 변경하기

Devexpress에서 기본 제공하는 버튼은 기본 영어로 나온다. 버튼의 글자를 변경하기 위해 직접 접근할 수는 없지만XtraMessageBoxArgs를 매개변수로 하는 show 함수를 이용해 showing 이벤트에서 버튼의 텍스트를 바꿔치기 할 수 있다.다국어를 위한 리소스 등을 이용해서 적용할 수도 있다. public static class CustomXtraMessageBox{ static XtraMessageBoxArgs getArgs(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) { XtraMessageBoxArgs args = new XtraMessageBoxArgs(); ..

공부/Devexpress 2025.01.14

[JS] 내가 필요한 키워드 저장해두는 확장 만들기2 - 설계 및 구현

이제 기본 구조는 알았으니 내가 원하는 기능을 넣으면 된다.내가 상상한 기능을 구상해보기 위해 대충 그림판으로 편집해서 구도를 잡았다..     나만 사용하는 확장 프로그램이기 때문에 우선 디자인은 크게 고려하지 않았다. 우선 background.js와 content.js와 같이 필요 없는 코드들을 비활성화했다. 그리고 아래와 같이 Popup.html, Popup.js를 수정하고 styles.css를 추가했다.  popup.html 오늘 날짜 복사   popup.jsdocument.addEventListener("DOMContentLoaded", () => { const fullDateSpan = document.getElementById("fullDate"); const to..

공부 2025.01.13

[JS] 내가 필요한 키워드 저장해두는 확장 만들기1 - 기본 구성 파악

유튜브에서 크롬 확장 프로그램을 만드는 영상을 봤더니 갑자기 나도 만들고 싶어졌다. 기왕이면 내가 필요한 기능을 넣어서 만들어보기로 했다.예를 들어, 나는 운동을 할때 비공개로 일기를 적어놓는다.제목을 년도와 날짜로 표시하는데 이걸 일일히 직접 작성한다. 아마 확장 프로그램으로 오늘의 날짜를 제목에 맞게 복사할 수 있다면 큰 수고를 덜 수 있을 것 같다.       이제 확장 프로그램을 제일 빨리 만들어 볼 수 있는 방법을 사용했다.바로 ChatGPT에게 물어보는 것이다.자바스크립트는 데이터가 많아서 그런지 쉽게 대답해준다. manifest.json확장의 메타데이터를 정의하며, 필수적인 파일입니다. 다음과 같은 정보를 포함합니다{ "manifest_version": 3, "name": "My Chro..

공부 2025.01.07

NullReferenceException: Object reference not set to an instance of an object 문제 해결 (URP Missing RendererFeature)

발생한 문제는 아래와 같다. 이것만 봐서는 무엇이 원인인지 잘 모른다.NullReferenceException: Object reference not set to an instance of an objectOVRProjectSetupRenderingTasks+c.b__4_42 (UnityEngine.Rendering.Universal.ScriptableRendererFeature feature) (at Assets/Oculus/VR/Editor/OVRProjectSetup/Tasks/Implementations/OVRProjectSetupRenderingTasks.cs:311)System.Linq.Enumerable.Any[TSource] (System.Collections.Generic.IEnumera..

공부/유니티 2025.01.06

[Devexpress Winform] 스프레드 시트 컨트롤 셀 대상 바꾸기 메세지박스 가로채기

Devexpress 의 SpreadsheetControl에서 셀 영역을 드래그해서 다른 셀에 드롭할 때, 두 영역 모두 값이 있었다면 "Do you want to replace the contents of the destination cells?" 라는 메세지 박스가 나오고 확인을 누르면 셀 대상 바꾸기가 된다. 문제는 이 기능이 Devexpress 라이브러리 내부에서 넣은 기능이라 외부에서 컨트롤할 수 없다.다행히 ReplaceService 함수를 통해 해당 기능을 중간에 가져올 수 있다고 한다.  how to intercept the spreadsheets control "Do you want to replace the contents of the destination cells?" message ?..

공부/Devexpress 2025.01.06

[Devexpress Winform] GridView 에서 ValidatingEditor 이벤트때 변경 전 데이터 가져오기

GridView의 ValidatingEditor 이벤트에 있는 BaseContainerValidateEditorEventArgs에서는  변경된 후의 데이터만 가져올 수 있다. 이럴때는 GridView 인스턴스에서 ActiveEditor의 OldEditValue를 가져온다. 예를 들어, GridView gridView 가 있을 때,ValidatingEditor 이벤트 발생시변한 값이 변경 전 값과 같을 때 다른 작업을 하거나 넘길 수 있다.  gridView.ValidatingEditor += (s, e) => { string name = e.Value as string; if (gridView_Lamp.FocusedColumn.FieldName == "Validate할 column 필드이름..

공부/Devexpress 2025.01.05

유니티 드로우콜(배치) 줄이기 - 그림자 설정

현재 VR 플랫폼으로 게임을 만들어보고 있다.테스트를 돌려보던 중 가끔씩 뚝 끊기거나 버벅이는 현상이 발생했다. 이유는 모르겠지만 드로우콜이 매우 많이 발생하고 있었다.플레이어가 바라보는 방향에 따라 9000개 정도 발생하기도 했다. 같이 작업을 하고 있는 동기가 빛이 비춰질 때 크게 발생하니 그림자가 원인인 것 같다고 했다. 이전에 씬에 새로운 오브젝트들을 배치하고나서 그림자가 많이 생겼으니 가능성이 있었다.     우선 맵에 있는 오브젝트를 모두 Static 을 체크했다.대부분 움직이지 않고 고정해둔 오브젝트이기 때문에 Map 이라는 이름의 빈 오브젝트에 두고 모두 정적 게임 오브젝트로 만들었다. 이러면 Batches를 큰 오브젝트 하나로 만들어 렌더링을 최적화한다는데, 문서만 봐서는 이해가 힘들고 ..

공부/유니티 2025.01.01
반응형