kkuzil.own@gmail.com

Posted
Filed under Development/Database
이거 그냥 PK 설정하면 자동으로 되는건줄 알았는데.. 아니었다. AutoInc 값을 체크해도,
Generator를 만들어서 연결해도 도무지 되지 않았는데.. 하는 방법이 따로 있었다..
역시 디비는 잼병..ㅠ

ID Field가 pk, not null, Generators에 등록되어 있었을 경우,

Insert into {테이블이름} (
ID,
NAME,
ADDR,
PHONE)
     VALUES (
(Select gen_id({Generator이름}, 1) from RDB$DATABASE),
'이쁜이',
'대한민국'
'012345678')

이렇게 하면 됨..

끝.
2012/12/27 14:50 2012/12/27 14:50
Posted
Filed under Development/Database
오랜만에 이거 쓸라니깐 막막해서..
나중을 위해서 적어 놓는다.

1. Firebird 다운로드 (http://www.firebirdsql.org/en/downloads/)
   IBExpert 다운로드 (http://ibexpert.net/ibe/index.php?n=Main.Download)

  - 2.x 이상은 필요 DLL이 다양하고 더 많다..
  - 고로 배포할때 덩치를 조금이라도 줄이기 위해서 1.5로 선택..
  - 2.x의 추가된 사항을 쓰려고 하면 더 알아봐야한다.
    2.x의 필수 DLL이 추가됨 (icudt30.dll, icuin30.dll, icuuc30.dll 등)

2. IB Expert 또는 FlameRobin 다운로드

  - 요즘 대세는 FlameRobin이라고 해서 이걸 쓰기로 함. (http://www.flamerobin.org/)
  - FlameRobin 설치 하고 설치 경로에 Firebird 1.5 Embed 파일을 복사해준다.
  - fbembed.dll 를 fbclient.dll 로 파일명을 변경

3. 실행 및 디비 생성 그리고 사용

  - FlameRobin 실행하고 "Home" 에 오른쪽 클릭해서 "Register server" 하고 Display name 입력
  - 호스트 이름이랑 포트는 필요없다 공백으로
  - 그리고 해당 서버아래에 디비를 등록/생성 하고 사용
  - 참 간단.

4. 주의 사항

  - 당연한 거지만 FlameRobin x64 버전을 받았으면 Firebird도 2.5 x64로 받아서 깔아줘야한다.
  - 고로, 1.5 쓸거면 FlameRobin x64 버전 받으면 안된다.
  - firebird.msg 파일 없다고 나오면 오류 메시지 경로에 가져다 놓고 확인
2012/12/26 16:52 2012/12/26 16:52
Posted
Filed under Development/Lua
어제 LuaEclipse를 깔아보고 쓸라고 노력했는데..
그거보다(?) 더 쓸만한 에디터를 발견했다..

http://www.lua.org/download.html

여기서 윈도우용 설치 바이너리를 받아서 설치하면,
설치 경로에 ..\SciTE 폴더가 있다.

SciTE를 검색해보니.. 꽤 유명한 스크립트 에디터더만.. 이런거 진작 알았다면...

그래도 LuaEclipse를 설치는 해봤게지;;;

http://www.scintilla.org/SciTE.html 여기서 최신버전 다운받아서 쓸려고 했는데

최신버전은 번들로 설치된 것보다 뭔가 Lua에 최적화 되어 있지 않은 분위기다.
인터프리터 경로도 환경변수로 잡아줘야하고.. 지원하는 언어 컬러링은 더 많은거 같지만
이건 일단 Lua쓸때만 쓸거니깐 번들로 쓰기로 하자

디버깅은.,.. 아직 거기까지 안가봐서 몰겠다. 패스

끝.
2012/10/06 23:59 2012/10/06 23:59
Posted
Filed under Development/Lua
루아 IDE는 여러가지가 있다고는 하지만...
LuaEclipse가 유명해서 일단 이걸로 정했다.

LuaIDE가 가볍고 좋다고 하는데 못찾아서..
버전업이 안되는지 공식 사이트(http://www.lua.org/download.html)에서 찾을 수가 없었다.

환경 구성할때 http://luaeclipse.luaforge.net/manual.html#installation 이거 참조 했음.

1. eclipse 다운로드
   - 권장 사항으로는 C/C++ Developer 용으로 받으란다.
   - 그냥 안드용으로 쓰던거에도 깔리는거 같은데.. 그냥 권장이라니깐 이걸로 받아서 깔았다.
   - http://www.eclipse.org/downloads/
   - 받아서 아무데나 풀고 실행

2. LuaEclipse 설치
   - Help > Install New Software ... 클릭
   - 상단 오른쪽 [Add] 클릭
   - 팝업 뜨면 Name : LuaEclipse, Location : http://luaeclipse.luaforge.net/update-site/site.xml
   - 추가 하고 [Next] 누르면 설치할거 불러온다.
   - 몇개 뜨면 최신버전 체크. (현재 1.2)
   - 32bit OS의 경우 하위 엔트리중 64비트 관련 피트는 체크해줘야 한다. 안그러면 에러남.

3. LuaEclipse 설치 확인
   - Help > About eclipse > [Installation Details] 클릭 > [Plug-ins] 탭 선택
   - 밑으로 쭉 내려보면 "Keper Project", "Lua Profiler Core Plug-in" 이런 항목들이 몇개보인다.
   - 그럼 완료

4. Lua interpreter 설치
   - http://www.lua.org/download.html 여기서 윈도우용 설치본 찾아서 설치해준다.
   - 약 25메가 정도 되고 설치풀면 예제도 있고 좋다. (현재버전 5.1.4)
   - eclipse 안에 풀든 말든 알아서 잘 설치해준다. 예) c:\eclipse\lib\lua\5.1

5. 코딩 및 빌드
   - 컴파일을 위해 interpreter를 eclipse에 연결해준다.
   - Window > Preferences
   - 왼쪽 트리창에서 Lua > Installed Interpreters에서 interpreter 경로를 추가해준다. 이름은 아무거나
   - 설치 "경로"를 추가하는게 아니고, interpreter "파일"을 연결해 줘야한다. 예) c:\....\lua.exe
   - 이거 설명보고 하다가 멘붕왔었다. 저 설명은 리눅스 기준이라 경로만 걸어놨더라
   - 이제 왼쪽 프로젝트 목록에 프로젝트 추가 하고, 루아 파일 추가하고, 코딩 하고
   - 컴파일 할때 루아파일(*.lua) 에 오른쪽 클릭해서 메뉴열고 [Run As] > Run Config... 들어가서
   - 컴파일 설정하고 [Run] 때리면 Console 탭에 결과가 잘 나온다.

일단 오늘은 여기까지... 디버깅 설정은 다음에~

끝.

2012/10/05 23:55 2012/10/05 23:55
Posted
Filed under Development/Delphi
.EXE 파일의 리소스를 열고 고치고 싶어서...


LoadLibrary(..)  > FindResource() > SizeOfResource() > LoadResource() > LockResource() >
FreeLibrary() > BeginUpdateResource() > UpdateResource() > EndUpdateResource()

뭐 이런 절차로 하려고 하는데 아무리해도 UpdateResource() 여기서 적용이 안되는거다..
GetLastError()를 찍어봐도 문제가 없고...! LoadResource(), LockResource() 이걸로 리소스도 잘 가져오는데!
아놔~! 뭐가 문젠지 한참을 고민하다 보니,

LoadLibrary([Path]) > FreeLibrary() 이렇게 하고 구동한 프로그램이 종료될때까지 [Path]가 제대로 지워지지

않는 문제가 있는거다.
원인은... LoadLibrary([Path]) 이거다. 요넘은.. .

LoadLibrary([Path])  이렇게 열면... 열어서 쓰는거 까지 좋은데 FreeLibrary() 이걸로 잘(?) 안닫힌다.

이 후에 수정작업은 먹통이되버린다. (UpdateResource()등등)

.DLL만 잘 불러오게 하는 그런게(?) 있나부다.
msdn에는 .EXE에는 쓰지마라 이런말은 없고 블라블라~~

암튼, 요렇게 하면 된다.

hModule := LoadLibraryEx([Path], 0, LOAD_LIBRARY_AS_DATAFILE);

....
....
FreeLibrary(hModule)

이렇게 하면 해제 잘되서 이 후에 리소스 수정작업도 잘된다~

끝.
2012/10/04 22:10 2012/10/04 22:10