從XE6升上XE7的專案,使用IOS8.1 SDK遇到以下Compile的問題:

cannot link directly with C:\Users\Tony\Documents\Embarcadero\Studio\SDKs\iPhoneOS8.1.sdk/usr/lib/system/libdispatch.dylib.  Link against the umbrella framework 'System.framework' instead.ld: cannot link directly with C:\Users\Tony\Documents\Embarcadero\Studio\SDKs\iPhoneOS8.1.sdk/usr/lib/system/libdispatch.dylib.  Link against the umbrella framework 'System.framework' instead. for architecture armv7

解決方法:

1. copy以下檔案到專案目錄下
C:\Program Files (x86)\Embarcadero\Studio\15.0\source\rtl\osx\Macapi.Dispatch.pas

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

iOS開發進行到實機測試時,我最常遇到的問題大概是程式秀出以下兩個訊息,遇到時常常搞混忘了怎麼解,筆記一下:

Unable to install package.(e8008015).
這個訊息是表示實機裝置中,未安裝正確的Provision Profile
我自己遇過的情況大概有以下幾種:
1. 下載下來的.mobileprovision檔真的忘了安裝了,開xcode->Window->Organizer->選到裝置的Provisioning Profiles選項,把檔案拖進去即可!

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

網路上找到的Delay function好像都是舊版delphi的,只適用在windows,稍微改了一下,現在跨平台也都可以用了!

procedure Delay(msec: LongInt);
var
  Timestart:Tdatetime;
begin

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

IndexingOfStrings

今天在使用Delphi XE6內建的字串system.string時,發現個問題…

從網路上找了個String To Bytes的範例Code,在Windows下測試都沒問題,放到手機上執行卻一直怪怪的,程式碼如下:

function TMainForm.StrToByte(const Value: String): TIdBytes;
var    
  I: integer;

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

想要利用XE6的TCameraComponent元件做QRCode Scan的功能,卻發現這個元件連對焦功能都不支援…

研究了一下TCameraComponent元件的原始碼後,發覺其實底層JNI的部份其實都有完整的搬過來,只是TCameraComponent元件沒有開放對焦的功能而已…

只要小小的修改一下TCameraComponent元件,就可以改出這個能力了!

元件的原始碼位置:

C:\Program Files\Embarcadero\Studio\14.0\source\fmx\FMX.Media.pas

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

TabControl與手勢換頁1

TabControl加上手勢操作這應該是未來大部份應用程式的基礎框架,以下就簡單示範如何以手勢左、右控制TabControl換頁:

1. 開一個新的Mobile專案

2. 拉一個TabControl元件到Form上面,並將Align屬性設為Client

3. 在TabControl上按右鍵,選擇Add TTabItem,隨便新增個三、四頁

4. 再拉一個GestureManager元件到Form上面,GestureManager是XE6內建的手勢管理的元件

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

同一個專案在不同電腦上Build出來,要Deployment到手機上時,會出現簽名檔衝突的錯誤訊息

原因是每台機器安裝XE6時,會自動產生一個簽名檔,位置如下:

C:\Users\使用者帳號\AppData\Roaming\Embarcadero\BDS\14.0\debug.keystore

把這個檔案copy到另一台電腦上就可以解決這問題了!

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

XE6出現[INSTALL_FAILED_UID_CHANGED]訊息,無法發佈到裝置上執行,有時不會出現這訊息,會直接以Runtime error訊息的方式呈現

原因:

不同的PC有不同的UID,當同一個專案在不同的PC上Compile前,必需Clean掉先前編譯的中繼檔後再重新Compile

解決方法:

1. 在每次換PC後要Compile之前,做Clean的動作:

無人知曉的Tony 發表在 痞客邦 留言(1) 人氣()

XE6無法顯示已連接裝置-SDK不見了

發生的原因不明,發生時的現象為:

1. 插入裝置時,Target無法秀出裝置型號,當然也無法直接發佈到裝置中執行

2. 原本Target Platforms (Android)樹狀目錄下應該顯示為[Android - Android SDK 22.3 32bit],但卻只顯示[Android - ]

3. 在[Android -]上按右鍵選[Edit SDK...],進入SDK Manager設定畫面,發現[SDK version:]列表中居然全為空白,右方[Properties]的所有項目的值也都是空白的

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

從Delphi XE5轉換到XE6時,出現vksVisible未定義的問題

改用TVirtualKeyboardState.Visible取代vksVisible可解決!

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

Delphi XE5的專案轉換到XE6時,出現StringToString未定義的問題

定義use Androidapi.Helpers可解決!

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

生命不能重頭開始,牙齒不能重新再長。

壞人會改邪歸正,壞牙可以再補好。

罪該萬死的人就會被判死刑,壞到「骨子」裡的牙會被拔掉…嗚嗚…

麻醉針不止麻醉了我的牙,連神志都開始有問題了…

怎麼兩次拔牙流程完全不同咧?

無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()

1 2 3
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。