본문 바로가기

분류 전체보기

앱 완전 구동 후 작업 수행 하기(라이프 사이클 이벤트 / 타이머 이용) 앱에서 초기화 작업을 FormCreate(또는 FormShow)에서 하게되면 구동시간이 길어지고, 오류가 발생하는 경우 앱이 정상구동되지 않을 수(검은화면만 표시) 있습니다. 그렇기 때문에 앱이 완전 구동된 이후에 초기화 작업을 진행하도록 하기 바랍니다.앱 완전 구동 후 동작하기 위해서는 아래와 같은 2가지 방법이 있습니다.모바일 앱 라이프 사이클 이용하기타이머를 이용해 구동 이후 이벤트 받아 처리하기모바일 앱 라이프 사이클 이용하기모바일(안드로이드, iOS)는 라이프 사이클 이벤트를 제공합니다.(http://blog.hjf.pe.kr/114 참고)아래 코드를 참고하기 바랍니다.unit Unit1; interface uses System.SysUtils, System.Types, System.UIType.. 더보기
iOS개발 시 Log.d로 기록한 로그 확인 iOS에서 Log.d로 기록한 로그 확인기능을 확인하는 도중 상태 값이나, 그 당시의 데이터 값을 알고 싶을 때 로그를 사용합니다.파이어몽키에서는 이미 Log.d라는 함수를 제공하므로 우리는 Log.d를 사용하면 됩니다. ▶ Log.d 사용아래와 같이 추상 클래스의 클래스 함수로 기능이 구현되어 있는데요.(사실 구현은 중요하지 않습니다. 사용법만 알면 됩니다.)?12345678910111213141516171819type Log = class abstract strict private class var FLogger: IInterface; class constructor Create; public type ToStringFunc = reference to function(O: TObject) : Stri.. 더보기
인터베이스 서버(InterBase Server)에 접속이 되지 않는 경우 대처사항 RAD Studio 설치 시 함께 설치되는 인터베이스 서버와 연결 할 때 간혼 다음과 같은 오류가 발생하는 경우가 있습니다.그에 따른 대처사항입니다. Unavailable database. Unable to complete network request to host "localhost:3050". Failed to establish a connection.대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다. 1, 인텁베이스 서버 구동여부 확인 및 구동 인터베이스 매니저(시작 > Embarcadero Interbase XE3 > InterBase Servr Manager)로 시작 2, 데이터베이스 연결 시 IP / Port로 연결여러버전의 델파이를 설치한 경우 매번 Interbase를 설치하게되면 기본.. 더보기
RAD Studio IDE(통합개발환경) 사용법 데브기어 테크사이트(tech.devgear.co.kr)에 RAD Studio 통합개발환경을 설명하는 아주 좋은 문서가 추가되었습니다.한번 훓어보시고 평소 사용하지 않았던 기능도 숙지하시면 개발이 더 편하고 재미있어 질것입니다. RAD스튜디오 개발환경(IDE) 사용법 from Devgear 참고http://tech.devgear.co.kr/403845 그리고, 이내용은 데이비드아이(David I)가 쓴 "윈도우와 맥개발을 위한 파이어몽키 코스북"의 일부입니다.책의 전문을 PDF로 받으시려면 다음 링크를 통해 다운로드하세요.http://tech.devgear.co.kr/13556 더보기
Delphi, C++Builder 64bit 실행 시 "Unable to ..." 오류 대응방법 최근 64bit용 어플리케이션 개발이 잦아지고 있습니다. 델파이와 C++빌더에서 64비트 개발 시 "Unable to create process." 오류가 발생해 정보를 찾다가 좋은 정보가 있어 공유합니다. 원글 - http://jsf3rd.blog.me/202981750[색즉시공 공즉사색] 딸기(jsf3rd)님 블로그입니다. 좋은 정보가 아주 많습니다. 1번 오류 - Unable to scan program's header. 2번 오류 - Unable to create process. ------------------------------------------------------ 델파이 버전은 XE5 Update2 입니다. 위 두 오류는 델파이 버전에 관계없이 종종 나오는듯 하더군요.... 하여튼, .. 더보기
FastReport 4 VCL(Embarcadero Edition) 설치 오류 우회방법 RAD Studio XE6 구매시 함께 제공되는 FastReport 4 VCL 버전이 한국어 운영체제에서 설치할 경우 중간에 글자가 깨지는 오류 메시지가 나오며 설치가 되지 않는 이슈가 발생했습니다. 패스트 레포트사에 요청해 다음버전에서 패치를 약속 받았지만, 그 이전에 사용해야 하시는 분들을 위해 파이어몽키 네이버 까페에 올라온 글을 안내해 드립니다. 이하 카페의 글입니다. 방명록에 방문하셔서 직접 알려주신 가시님께 감사인사 드립니다.http://cafe.naver.com/delphifmx.cafe?iframe_url=/ArticleRead.nhn%3Fclubid=24533623%26articleid=392%26referrerAllArticles=true FastReport VCL 4 버젼 설치시 Fo.. 더보기
안드로이드에서 ShowModal 사용하기 안드로이드에서는 모달폼 개념이 없어 기존에 사용하던 VCL 코드를 그대로 사용할 경우예상과는 다르게 모달폼이 동작하지 않습니다. 안드로이드에서는 다르게 모달폼을 구현해야 하는데 그 내용을 안내해 드립니다.주요한 핵심은ShowModal과 익명 메소드(Anonymous Mehtod)를 이용할 것모달폼의 해제(Free)는 반드시 폼의 FormClose 이벤트에서 CloseAction을 사용해서 해제할 것다른 내용은 아래의 링크를 통해서 자세히 알아보세요. http://www.malcolmgroves.com/blog/?p=1585&utm_source=rss&utm_medium=rss&utm_campaign=showmodal-on-android-2 더보기
원형 프로세스 바 - ProgressCircle(소스공개) 중국인(?) 델파이어가 공개한 원형 프로그레스 바를 아주 심플하게 만든 소스코드(ProgressCircle)가 있어 공개합니다. TArc, TCircle과 TText 3개를 이용해 구현되었습니다.아래 코드와 같이 이용할 수 있습니다. 컴포넌트로 만들어서 사용하면 아주 좋은 UI에 도움이 될 것 같습니다. 소스코드https://github.com/OneChen/ProgressCircle참고http://www.fmxexpress.com/build-a-progress-spinner-using-objects-in-delphi-xe6-firemonkey-on-android-and-ios/ 더보기
Bejeweled clone - 보석 맞추기 게임(소스공개) 저는 개인적으로 캔디크러쉬 세가, 애니팡 등의 게임을 아주 많이 하는데요^^Embarcadero CodeRage 8에서 위의 게임과 비슷한 Bejeweled 게임을 만들는 방법을 동영상으로 설명하고소스코드가 공개되었습니다. 델파이로 만들어졌기 때문에 안드로이드와 iOS에서 모두 실행되구요, 더불어 윈도우, 맥에서도 실행됩니다.이번기회에 소스코드 활용해 재미있는 게임을 만들어 보세요^^ 설명 동영상http://www.youtube.com/watch?v=PFzlgQbmqag 소스코드https://github.com/jadeade/jweled 그리고 Code Rage 8 에서 다양한 주제의 기술 동영상이 있으니 방문하셔서 들어보시기 바랍니다.http://www.embarcadero.com/coderage/em.. 더보기
BaaS 컴포넌트(TBackendFiles)를 이용해 파일 업로드/다운로드 샘플 델파이(C++빌더) XE6에 추가된 BaaS 클라이언트 컴포넌트 중 TBackendFiles 컴포넌트를 활용해 BaaS에 파일을 업로드 하고 다운로드 하는 샘플입니다.개인적으로 큰 관심을 갖는 BaaS에 샘플이 하나하나 추가되어 기분이 좋네요^^(앞으로 다양한 활용방안과 잠재력을 갖고 있는 서비스라고 생각합니다.) Uploading images to the cloud with BaaS in RAD Studio XE6http://blogs.embarcadero.com/sarinadupont/2014/06/20/uploading-images-to-baas-providers-in-delphi-xe6/ 관련자료Baas(Backend as a Service)와 RAD Studio(GCM, APN, 푸시알림 가능) 더보기
RAD Studio XE6 Update1 RAD Studio XE6 업데이트가 발표됐습니다. 이번 업데이트에서는 다양한 버그 패치와 도움말이 업데이트되었습니다.참고로, 국내에서 제기한 QC 건도 패치되어 더 반가운 업데이트 입니다. (http://qc.embarcadero.com/wc/qcmain.aspx?d=124770) 업데이트 내용http://docwiki.embarcadero.com/RADStudio/XE6/en/Release_Notes_for_XE6_Update_1패치 목록http://edn.embarcadero.com/article/43893업데이트 다운로드http://cc.embarcadero.com/item/29895 더보기
연락처(주소록)을 제어하는 방법(안드로이드, iOS) 연락처에 접근하는 방법을 문의하셔서 해당 내용 안내해드리고 공유차 기록합니다. http://www.fmxexpress.com/access-device-contacts-with-delphi-xe5-firemonkey-on-android-and-ios/ http://www.fmxexpress.com/access-android-contacts-manager-with-firemonkey-in-delphi-xe5/ http://www.fmxexpress.com/access-ios-contacts-with-firemonkey-in-delphi-xe5/ 더보기
Home Screen Navigation - UI Design 참고 앱의 메인화면을 아이콘을 활용해 멋지게 구성하는 내용을 소개합니다. 아래와 같이 구성하는 내용인데요.아이콘들의 구성을 위해서 TGridPanelLayout 컴포넌트를 이용하고, 아이콘은 ImageControl을 이용해 구성됩니다. 자세한 내용은 아래 링크를 통해 확인하세요.http://blogs.embarcadero.com/sarinadupont/2014/06/16/mobile-user-interface-design-home-screen-navigation/ 더보기
당겨서 새로고침(Pull to refresh) - 안드로이드, iOS 구현 이전에 iOS용 당겨서 새로고침 글을 소개해 드렸는데요.안드로이드에서 안된다는 말씀이 있어 찾아보니 Android와 IOS를 동시에 사용할 수 있는 내용이 있어 소개해 드립니다. 첫번째는, 유튜브를 통해 찾은 내용입니다.당겨서 새로고침을 구현하는 내용을 동영상을 통해 안내합니다.UI 구성 뿐 아니라 데이터를 가져오는 부분까지 설명을 해줍니다.단, 이야기하는 언어가 한국어/영어가 아니므로, 화면만 보시며 따라하셔야 합니다. 두번째는 이전에 소개해 드린 iOS용 당겨서 새로고침을 안드로이드에서도 사용할 수 있도록 수정한 내용입니다.http://www.fmxexpress.com/swipe-down-to-refresh-listview-with-delphi-xe5-firemonkey-on-android-and-i.. 더보기
[웹세미나] Developer Skill Sprints(Fast programming Tips, Tricks and Techniques) 지난 주 델파이 웹 세미나는 잘 들으셨나요? 못들으신 분들은 다시보기로 들을 수 있습니다. 한국말로 진행되는 것은 아니지만 엠바카데로에서도 한창 뜨겁게 웹세미나가 진행 중입니다.http://www.embarcadero.com/kr/landing-pages/skill-sprints 큰 주제는 Developer Skill Sprints 인데요. 개발자 스킬을 단기간에 올리기 정도로 이해하시면 됩니다.^^ 아래와 같이 매주 화요일, 목요일 다양한 주제로 진행되며, 한 세션이 20분 설명후 Q&A로 진행 되니 출근하셔서 하나씩 듣고 업무 시작하시면 아주 좋을 것 같습니다. 단, 세미나 참석을 위해서는 아래의 링크에 먼저 등록해야 합니다.http://forms.embarcadero.com/DeveloperSkil.. 더보기
JSON to Object 한줄이면 됩니다. 신입때 잘몰라 헤메고 있으면, 연구소장님이 한마디 하셨어요. 이렇게 저렇게 한줄이면 되겠네~ 그때는 참 야속했습니다. -_-); 근데 JSON을 Object(객체)로 바꾸는 작업은 정말 한줄이면 되네요. (파싱하는 반복작업을 많이 줄이고, 자동화하는데 참고하면 좋을 것 같습니다.) uses REST.JSON; // Also new System.JSON procedure TForm1.Button1Click(Sender: TObject); var Foo: TFoo; begin Foo := TFoo.Create; try Foo.Foo := 'Hello World'; Foo.Fee := 42; Memo1.Lines.Text := TJson.ObjectToJsonString(Foo); finally Foo.Fre.. 더보기
ListView의 Header를 첫글자로 정렬하는 방법 TListView에서 첫 글자로 정렬하는 팁이 엠바카데로 커뮤니티에 올라왔습니다. 핵심은 라이브 바인딩 시 CustomFormat에서 SubString을 이용하는 것인데요.이번은 Header를 통한 정렬이기 때문에 FillHeaderCustomFormat에서 SubString으로 첫 글자를 분리하여 표시하고 정렬할 수 있습니다. 한글의 경우 ㄱ, ㄴ, ㄷ, ... 순의 정렬이 필요할 것 같은데요. 이 부분은 한국 개발자 분들이 시도해봐야 할 것 같습니다.^^ http://community.embarcadero.com/index.php/article/articles-tutorials/943-adding-alphabetical-sorting-with-a-z-headers-to-your-lists 참고로 엠바.. 더보기
델파이 IDE 상에서 Github 소스 바로사용하기 최근 소스관리 시스템으로 Github가 많이 사용되고 있습니다. 델파이 오픈소스도 Github를 많이 이용하는데요.git client 소프트웨어를 이용하는 방식과 ZIP 파일 다운로드 방식(우측하단 Download ZIP 버튼클릭)으로 많이 사용하셨을 겁니다. Jim McKeeth가 델파이 IDE 상에서 Github 소스코드를 사용할 수 있는 유용한 팀을 공개하여 소개해드립니다.Github에서 다양한 인터페이스를 제공하는데 그중 Subversion 인터페이스를 이용해 IDE에서 사용하는 방식입니다. http://delphi.org/2014/05/clone-from-github-in-delphi/ 간단히 설명해 드리면Checkout URL을 Subversion으로 변경Subversion URL로 델파이 I.. 더보기
Baas(Backend as a Service)와 RAD Studio(GCM, APN, 푸시알림 가능) BaaS(Backend as a Service)BaaS는 Backend as a Service 약자로 모바일에서 필요한 Backend 기능을 추상화하여 표준 API(JSON 등)로 제공하는 클라우드 서비스의 한 종류 입니다. Backend as a service - http://en.wikipedia.org/wiki/BaaS Backend as a service (BaaS), also known as "mobile backend as a service" (MBaaS),[1][2][3] is a model for providing web and mobile app developers with a way to link their applications to backend cloud storage and AP.. 더보기
FireMonkey 배포시 간단한 팁(선택적 배포-설정파일 유지) 오늘은 간단한 팁을 공유합니다. 파이어몽키를 이용해 앱 개발 후 컴파일(배포) 시 모든 파일들이 덮써져 버립니다. 환경파일(INI) 또는 임베디드 디비파일등의 테스트 데이터는 유지되야 할 경우가 많은데요. 꽤 불편합니다. 하지만, 배포 관리자의 툴바에 선택적으로 파일을 배포하는 기능버튼이 있어 안내합니다.아래 그림과 같이 버튼 제일 우측에 Change Overwrite value for selected Items라는 힌트를 가진 버튼이 있구요.직역해 보면 "선택된 항목의 덮어쓰기 값을 변경" 정도가 됩니다. 목록에서 파일을 선택하고 해당 버튼을 누르면 필드 제일 오른쪽의 OverWrite 항목이 Always Never로 변경됩니다. 한가지 팁을 더 드리면모바일 기기가 연결된 경우 툴바의 Connect().. 더보기