全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2155
推到 Plurk!
推到 Facebook!

CB2009 無法開發 JSON 之 Server 端?

缺席
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-11-21 16:28:37 IP:211.72.xxx.xxx 訂閱
依據 李'r 發表會的展示範例, 好像 CB2009 無法開發 JSON 之 Server 端 Project.
主要是其中有一段程式語法似乎無對應的 C Builder 語法:

{$MethodInfo ON}
TServerMethodClass = class(TPersistent)
public
function Hello(const Name: string): string;
end;
{$MethodInfo OFF}

請問先進們可有解法?
否則真要購買時, 就必須買 Delphi + C Builder 的 RAD Studio ?
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-11-21 23:03:50 IP:211.72.xxx.xxx 訂閱
小弟嘗試將原 uServerMethod.pas 改於 JOSN Server Project 之 Unit1.h 宣告,
但不知要如何讓 TServerMethodClass 可以被 TForm1 的
DSServerClass1GetClass(TDSServerClass *DSServerClass, TPersistentClass &PersistentClass)
引用.

將 Code 貼出, 請先進們指導一下, 謝謝!

[code cpp]
// Unit1.h 中
// ....
class TServerMethodClass : public TPersistent
{
public:
__fastcall TServerMethodClass(); // 這列 Link OK, 但無法被使用 ?
String __fastcall Hello(const String Name);
};
// ....

// Unit1.cpp 中
// ....
void __fastcall TForm1::DSServerClass1GetClass(TDSServerClass *DSServerClass, TPersistentClass &PersistentClass)
{
PersistentClass = TServerMethodClass; // 要如何宣告才能引用 ?
}
String __fastcall TServerMethodClass::Hello(const String Name)
{
return "Hello " Name;
}
//---------------------------------------------------------------------------
[/code]

herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-11-24 09:27:53 IP:211.72.xxx.xxx 訂閱
依據 李'r 範例所言:
因 JSON Server 須宣告一個從 TPersistent 類別繼承下來的 TServerMethodClass,
由於它需要將函式 Hello 送到用戶端,因此在 TServerMethodClass 類別
之前和之後要使用新的編譯器指令{$MethodInfo ON}和{$MethodInfo OFF}包圍,
如此一來 Tiburon 的編譯器在編譯這個類別時便會產生額外的
RTTI (Runtime type identification) 資訊。

並查 Help 有關 METHODINFO directive 的說明,若想用 JSON,好像真的非得用 Delphi 不可。
qupyliang
一般會員


發表:21
回覆:22
積分:23
註冊:2007-04-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-12-03 18:56:41 IP:60.250.xxx.xxx 訂閱
12/09~12李維老師將於本公司講解JSON與DataSnap,雖是針對Delphi,
但我想您的疑問也可向李維老師以及與會人員分享,相信可以獲得解答。
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-12-03 21:08:41 IP:59.124.xxx.xxx 訂閱
我想此問題應該可以藉由範例解決,若是只有研討會才能聽到,那麼這個問答似乎就失去意義,
一來不是所有人都有時間去,二來若能在這裡留下範例,也可供其它人參考。

===================引 用 qupyliang 文 章===================
12/09~12李維老師將於本公司講解JSON與DataSnap,雖是針對Delphi,
但我想您的疑問也可向李維老師以及與會人員分享,相信可以獲得解答。
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-03-15 09:22:27 IP:203.75.xxx.xxx 未訂閱
最近我也在找這類的訊息,李老師剛剛有在BLOG上提到:

目前BCB只能開發客戶端, 到了BCB 2011應該能夠開發伺服端了(JSON)

那…我們只好再等等了……Orz

===================引 用 herbert2 文 章===================
依據 李'r 範例所言:
因 JSON Server 須宣告一個從 TPersistent 類別繼承下來的 TServerMethodClass,
由於它需要將函式 Hello 送到用戶端,因此在 TServerMethodClass 類別
之前和之後要使用新的編譯器指令{$MethodInfo ON}和{$MethodInfo OFF}包圍,
如此一來 Tiburon 的編譯器在編譯這個類別時便會產生額外的
RTTI (Runtime type identification) 資訊。

並查 Help 有關 METHODINFO directive 的說明,若想用 JSON,好像真的非得用 Delphi 不可。
系統時間:2017-10-23 5:01:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!