반응형

Programming 211

Objective-C에서 Singleton객체 만들기

Objective-C에서 Singleton 객체를 만드는방법은 다음과 같습니다. // SingletonClass.h #import! @interface SingletonClass : NSObject { } + (SingletonClass *)sharedSingletonClass; @end // SingletonClass.m #import! "SingletonClass.h" @implementation SingletonClass + (SingletonClass *)sharedSingletonClass { static SingletonClass *singletonClass = nil; if(singletonClass == nil) { @synchronized(self) { if(singletonClass =..

Programming/iPhone 2010.06.30

파일 입출력

리소스를 이용한 파일 입출력은 read는 되나 write가 되지 않습니다. 파일을 쓰려면 각 어플마다 존재하는 Document 디렉토리를 이용하여 관리를 해야합니다. 어플을 설치하게 되면 시뮬레이터나 디바이스에 어플의 고유번호 폴더가 생기게 되는데 그 곳의 Document 폴더는 개발자가 직접 관리를 할 수 있습니다. 시뮬레이터에서의 path는 사용자이름/Library/Application Support/iPhone Simulator/User/Applications/어플고유번호/Documents에서 확인을 할 수 있습니다. 대충 소스를 적어 보자면 NSArray* paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainM..

Programming/iPhone 2010.06.30

VMWare를 이용한 아이폰 개발

아이폰 개발에 입문하시고 싶은데, 무턱대고 고가의 맥북을 지르자니 부담스럽고, 해킨을 설치하자니 어렵고, 간단한 개발 테스트는 해보고 싶으신 분들은 VMWare와 같은 툴을 사용하시면 간단한 개발 테스트를 해볼 수 있습니다. (저는 맥북이 있지만요..) VMWare에 해킨에 설치하듯이 OSX 설치파일을 가지고 설치하는 방법도 있지만 WMWare에 설치 자체가 만만하지 않죠? 인터넷을 통해 WMWare에 이미 설치해서 테스트해볼 수 있는 Virtual Machine 파일을 쉽게 구하실 수 있습니다. 사용방법을 간단히 설명드리겠습니다. 1. 파일은 torrent를 이용해서 다운받겠습니다. 구하기가 제일 쉬운거 같더군요. 구글에서 "VMWare leopard 10.5.7 torrent" 키워드를 입력하고 검색..

Programming/iPhone 2010.06.30

COM+ 만드는 방법

1. ActiveX Library 프로젝트를 생성한다. 2. Active Server Object 프로젝트를 생성한다. 3. 생성할 Object 명을 입력한다. 4. 자동으로 테스트 asp 파일까지 만들어준다. 프로젝트명은 델파이 프로젝트 명이고, 오브젝트명은 3번에서 입력한 CoClass Name 가 된다. 5. 메소드 or 프로퍼티 등 필요한 것들을 만든다. Method로 할 경우, Return Type 는 HRESULT에서 수정을 하지 못한다. (적어도 "Active Server Object" 에서는, Com Object 에서는 BSTR 등이 가능하다) 대신에 Parameters 에서 Modifier 을 Out, Retval 로 하면 Return 으로 설정 가능하다. (단, ..

Programming/Delphi 2010.06.30

작업표시줄에 프로그램 표시하기/숨기기

procedure CreateParams(var params:TCreateParams); override; window class 속성에 보면 WndParent라는게 있습니다. TForm 속성이 아니구요 WndParent 속성이 Application의 MainForm의 Handle로 되어있지 않고 DesktopWindow로 되어있는 경우 그렇게 나타납니다. 주로 dll에 Form이 포함되어잇는경우 Dll안에 Form들이 작업창에 나타나곤 하죠 [방법1] TForm의 CreateParams 함수롤 오버라이드 해서 아래와 같이 Params에서 WndParnet를 메인윈도우핸들로 설정해주면 됩니다. procedure TForm2.CreateParams(var Params: TCreateParams); begi..

Programming/Delphi 2010.06.30

Access violation 난 곳 찾기

Project - Options 로 들어간다. Linker - Map File - Detailed 를 선택 후 "OK" 버튼을 누른다. 그럼 프로젝트가 저장되는 폴더에 프로젝트 이름.map 파일이 생성된다. 에러난 주소 $00456415에서 HIntance인 $00400000을 뺀다. 그리도 PE포맷의 헤더등 불필요한 앞부분 사이즈인 $1000 도 뺀다. 그러면 $00055415가 된다. 그러면 map파일에서 $00055415를 찾아보면 33line 0001번째 문자에서 에러가 났다는 것을 알 수 있다. XP, 2000에서는 HInstance는 항상 $00400000이고 델파이로 만들어진 EXE의 PE헤더정보는 항상 $1000 바이트이다. 그러므로 에러가 난 주소 = 에러화면에 나온주소 - $004100..

Programming/Delphi 2010.06.30
반응형