請問有沒有C和Delphi雙修的前輩,可以幫幫忙? |
答題得分者是:G01
|
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
以下是一位前輩寫給小弟的範例程式,是用C所寫,但小弟對C不瞭解,所以在轉譯上有一個地方,無法在DELPHI中順利使用,如下所示...
//--------------------------------------------------------------------------- #include
#pragma hdrstop #include "Unit1.h"
#include
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "ACTIVESKINLib_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
typedef TComInterface ISkinObjectPtr;
typedef TComInterface ISkinStaticPtr;
typedef TComInterface ISkinVisualPtr;
typedef TComInterface ISkinImagesPtr; //---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------- void __fastcall TForm1::FormShow(TObject *Sender)
{
Skin1->ApplySkinByName((long)Panel1->Handle,L"Form");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ static int a=0;
::ISkinObjectPtr visScreen2;
::ISkinVisualPtr visScreen1;
::ISkinImagesPtr imagePtr; Skin1->GetSkinnedWindow((long)Panel1->Handle)->FindObject(
L"Yam",(ISkinObject **)&visScreen2); visScreen2->QueryInterface(
IID_ISkinVisual,(void**)&visScreen1); imagePtr = Skin1->GetImages(); CComPtr skin_image; ← 這一行及下一行如何在DELPHI中表現呢?
skin_image.CoCreateInstance(CLSID_SkinImage, NULL, CLSCTX_INPROC_SERVER);
a ;
if(a==1)
skin_image->LoadFile(L"sina.bmp");
else if(a==2)
skin_image->LoadFile(L"pchome.bmp");
else if(a==3)
skin_image->LoadFile(L"Yahoo.bmp");
else
{
skin_image->LoadFile(L"Yam.bmp");
a= 0;
} imagePtr->DeleteImage(1);
imagePtr->AddImage(L"Yam",skin_image);
visScreen1->Refresh();
}
//---------------------------------------------------------------------------
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
|
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
引言: CComPtr skin_image; 這不過是變數宣告, C 可於任何位置宣告, Delphi則一定要在var區, 移到前面去宣告 skin_image:CComptr; 看不到CComptr之定義, 若無問題, 下一行就照用吧 skin_image.CoCreateInstance(CLSID_SkinImage, NULL, CLSCTX_INPROC_SERVER);謝謝版主的回覆,小弟試過不行,會出現 Undeclared identifier:'CComptr' Missing operator or semicolon Undeclared identifier: 'CLSID_SkinImage' Undeclared identifier: 'NULL' 小弟粗淺的瞭解好像這二行是要建立一個com元件,不知道對不對? 小弟問過那位前輩,CComprt是什麼型態,以下是那位前輩的回答: >CComPtr是所謂的精明指標(Smart Pointer),具有自動解構的特性,在建構元及解構元 >之中自動呼叫AddRef及Release來做參考計數的管理,因為我對Delphi不熟..,只能提 >供你一點方向.. 請版主指點小弟,謝謝! 發表人 - tonyplus 於 2002/09/10 11:59:05 |
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
謝謝版主的回覆,小弟試過不行,會出現
Undeclared identifier:'CComptr'
那是當然, 你必須找到CComptr之定義, 在Delphi做相對之Define Missing operator or semicolon只不過是打漏了;
小弟問過那位前輩,CComprt是什麼型態,以下是那位前輩的回答:
>CComPtr是所謂的精明指標(Smart Pointer),具有自動解構的特性,在建構元及解構元
用猜的沒用, 必須找到定義, 在Delphi也Implement相對之Constructor
|
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
引言: 謝謝版主的回覆,小弟試過不行,會出現 Undeclared identifier:'CComptr' 那是當然, 你必須找到CComptr之定義, 在Delphi做相對之Define Missing operator or semicolon只不過是打漏了; 小弟問過那位前輩,CComprt是什麼型態,以下是那位前輩的回答: >CComPtr是所謂的精明指標(Smart Pointer),具有自動解構的特性,在建構元及解構元 用猜的沒用, 必須找到定義, 在Delphi也Implement相對之Constructor版主,相對的Constructor以上述的code如何定義,小弟真的不懂,請版主多多指教... |
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
引言:引言: 謝謝版主的回覆,小弟試過不行,會出現 Undeclared identifier:'CComptr' 那是當然, 你必須找到CComptr之定義, 在Delphi做相對之Define Missing operator or semicolon只不過是打漏了; 小弟問過那位前輩,CComprt是什麼型態,以下是那位前輩的回答: >CComPtr是所謂的精明指標(Smart Pointer),具有自動解構的特性,在建構元及解構元 用猜的沒用, 必須找到定義, 在Delphi也Implement相對之Constructor版主,相對的Constructor以上述的code如何定義,小弟真的不懂,請版主多多指教... >>< face="Verdana, Arial, Helvetica"> 寄給我你的完整Code 可以翻給你 PS 要你的 Code 很多...那就只翻個範例給你參考(畢竟我不是翻譯機) 如果你介意你的 Code 的隱私性,那就愛莫能助了,畢竟瞎子摸像,像也不像.... |
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
嗯 仔細讀了一下程式
很努力的想弄懂
不過發現 因為程式碼中用了***非建議的語法*** (手邊幾本程式的書都建議不要用的語法)
這樣的程式碼...ㄟ 出錯的可能性蠻高的(不同編譯器可能有不同的結果)
而要轉換 也不方便.........
因為 ACTIVESKINLib_OCX 的設計結構不明 這樣就無法在Delphi也Implement相對之Constructor出來,簡單的說,就是不知道對方的格式,就無法翻譯
所以 你還是如領航天使說的 "直接說你的意圖吧 !"
這樣比較快 !
|
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
引言: 可否乾脆說出您原本的需求,說不定還比較快! 您是不是要將Form改為有底圖的視窗,或是做出不規則形狀的視窗? ~~~Delphi K.Top討論區站長~~~其實會有這樣的需求,只是因為要使用ActiveSkin這個第三協力廠商所開發的 元件功能,如果各位前輩有用過這一套元件,可能比較能了解小弟想要做到的 功能,小弟的案子是開發一個選購產品的程式,因為客戶的要求,要外觀美美 的而且要隨產品主題變換外觀,所以小弟就將activeskin加入,因為它可以做 到選單彈出,不規則button變色及觸發並且可隨時更換已經做好的skin (像winamp,Media Player) ,小弟知道如果只是為了做到有底圖的視窗,或是 做出不規則形狀的視窗,就簡單解決多了! 在activeskin裡沒有handle的元件,一律會被skin蓋掉,所以在選單裡產品的 圖就不能使用image,所以小弟現在使用可改變底圖的button來取代image,這 樣是可以解決這個問題,只不過這個button不會隨著可彈出的選單移動,因為 它不是skin裡的東西。 其實activeskin是可以做到這樣的功能,只是小弟不知如何使用,所以上網請 教使用過的前輩,後來發現好像activeskin搭配bcb或是vc的使用者比較多, 所以前輩們回應小弟問題也是大多使用c的範例,就是這樣才氣人,明明就有 答案了,可是卻因為看不懂,而無法使用,也才會有這次發表的主題。 唉~怪只能怪activeskin的說明文件太少,程式所附的範例程式,太過基礎, 不過,謝謝各位前輩的指點,起碼小弟知道自己的功力太遜,要好好加強! |
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
引言:引言: 可否乾脆說出您原本的需求,說不定還比較快! 您是不是要將Form改為有底圖的視窗,或是做出不規則形狀的視窗? ~~~Delphi K.Top討論區站長~~~其實會有這樣的需求,只是因為要使用ActiveSkin這個第三協力廠商所開發的 元件功能,如果各位前輩有用過這一套元件,可能比較能了解小弟想要做到的 功能,小弟的案子是開發一個選購產品的程式,因為客戶的要求,要外觀美美 的而且要隨產品主題變換外觀,所以小弟就將activeskin加入,因為它可以做 到選單彈出,不規則button變色及觸發並且可隨時更換已經做好的skin (像winamp,Media Player) ,小弟知道如果只是為了做到有底圖的視窗,或是 做出不規則形狀的視窗,就簡單解決多了! 在activeskin裡沒有handle的元件,一律會被skin蓋掉,所以在選單裡產品的 圖就不能使用image,所以小弟現在使用可改變底圖的button來取代image,這 樣是可以解決這個問題,只不過這個button不會隨著可彈出的選單移動,因為 它不是skin裡的東西。 其實activeskin是可以做到這樣的功能,只是小弟不知如何使用,所以上網請 教使用過的前輩,後來發現好像activeskin搭配bcb或是vc的使用者比較多, 所以前輩們回應小弟問題也是大多使用c的範例,就是這樣才氣人,明明就有 答案了,可是卻因為看不懂,而無法使用,也才會有這次發表的主題。 唉~怪只能怪activeskin的說明文件太少,程式所附的範例程式,太過基礎, 不過,謝謝各位前輩的指點,起碼小弟知道自己的功力太遜,要好好加強! //-------------------------------------------------------------- >>< face="Verdana, Arial, Helvetica"> |
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
|
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
|
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
引言: Sorry !! 我忘了還有另一種方法 利用delphi的Component-->Import Activex Control 然後再選擇 'Create Unit' 按鈕,就可以得到所有包含於*.OCX 的介面及機碼值 的Delphi單元!!G01前輩: 小弟找了一下,發現在ocx檔的unit裡SkinImage的資料是: // *********************************************************************// // Interface: ISkinImage // Flags: (0) // GUID: {1F8BB9F7-EBA0-4AC5-8980-FB4E872BA057} // *********************************************************************// ISkinImage = interface(IUnknown) ['{1F8BB9F7-EBA0-4AC5-8980-FB4E872BA057}'] function Create(sx: SYSINT; sy: SYSINT): HResult; stdcall; function Empty: HResult; stdcall; function LoadFile(const FileName: WideString): HResult; stdcall; function SaveFile(const FileName: WideString): HResult; stdcall; .......... 但是在登錄檔裡的機碼名稱卻是: SkinImage Object HKEY_CLASSES_ROOT\CLSID\{A5704C37-40DA-49EF-904B-97E5F5F9B1C5} 如果用ocx裡機碼的資料去做搜尋會找不到資料,這是為什麼呢? 難道從小弟的機器匯入OCX檔後,Skinimage的機碼會改變? 那如果指定機碼,到別人的機器上,不就找不到這個機碼了嗎? 還是小弟有什麼遺漏的!請指教! |
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
引言:引言: Sorry !! 我忘了還有另一種方法 利用delphi的Component-->Import Activex Control 然後再選擇 'Create Unit' 按鈕,就可以得到所有包含於*.OCX 的介面及機碼值 的Delphi單元!!G01前輩: 小弟找了一下,發現在ocx檔的unit裡SkinImage的資料是: // *********************************************************************// // Interface: ISkinImage // Flags: (0) // GUID: {1F8BB9F7-EBA0-4AC5-8980-FB4E872BA057} // *********************************************************************// ISkinImage = interface(IUnknown) ['{1F8BB9F7-EBA0-4AC5-8980-FB4E872BA057}'] function Create(sx: SYSINT; sy: SYSINT): HResult; stdcall; function Empty: HResult; stdcall; function LoadFile(const FileName: WideString): HResult; stdcall; function SaveFile(const FileName: WideString): HResult; stdcall; .......... 但是在登錄檔裡的機碼名稱卻是: SkinImage Object HKEY_CLASSES_ROOT\CLSID\{A5704C37-40DA-49EF-904B-97E5F5F9B1C5} 如果用ocx裡機碼的資料去做搜尋會找不到資料,這是為什麼呢? 難道從小弟的機器匯入OCX檔後,Skinimage的機碼會改變? 那如果指定機碼,到別人的機器上,不就找不到這個機碼了嗎? 還是小弟有什麼遺漏的!請指教! 應該是要使用OCX產生的機碼值才對!!(可能要試試看!!) |
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
Oh !! Sorry 看的太快了 , 我想應該要如此說 Register 中的機碼是該Com物件最正確的機碼(該物件的原始機碼值)
而使用Import active Control而產生的InterFace機碼值則是
Delphi產生的(Delphi 會針對*.ocx的Com物件再進行一次包裝)所以自然
兩者的機碼值會有所不同;但是該使用哪一個呢? 用法 1.不使用Delphi產生的*_TLB.Pas檔案時,直接使用register之內的機碼值
2.剛好和用法1.相反,但是記得將產生的*_TLB.pas Use進來!!
|
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
引言: Oh !! Sorry 看的太快了 , 我想應該要如此說 Register 中的機碼是該Com物件最正確的機碼(該物件的原始機碼值) 而使用Import active Control而產生的InterFace機碼值則是 Delphi產生的(Delphi 會針對*.ocx的Com物件再進行一次包裝)所以自然 兩者的機碼值會有所不同;但是該使用哪一個呢? 用法 1.不使用Delphi產生的*_TLB.Pas檔案時,直接使用register之內的機碼值 2.剛好和用法1.相反,但是記得將產生的*_TLB.pas Use進來!!謝謝G01前輩的指點,但小弟還是弄不太清楚!首先,小弟看過>> |
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
引言: 1.小弟也確實找過登錄檔裡的Word.Basic,是出現在機碼的資料欄位裡,那麼就 這個case,小弟是不是也可以用資料欄位裡'SkinImage Object'來CreateOleObject 呢? 其實,只要在Import Activex Control時按下'install' 按鈕,對應於*.Ocx的元件TSkin及TSkinLabel元件就會被建立(ActiveX 那一頁) 直接拉下來放就可以使用了,根本不用些一堆程式碼!! 這樣的做法 可以不用去管那些關於Com 物件的繁瑣規則(你一開始附上的BCB程式碼,從取得 Com 物件的介面到建立Instance 都是自行建立) 而使用CreateOleObject其實是要看該Com物件是否支援Ole的規格,像是Word.Basic物件其實就是支援Ole的COM元件!! 而ActiveSkin4.Ocx 我試著使用 CreateOleObject 時com物件可以被建立 可是呼叫相關函式時,是一定要Uses activeskinLib_TLB.pas檔案 一但使用了這個檔案,就不用擔心轉型問題(其實還是透過Delphi作vcl Component及 Com Object之間的Mapping),而且以這種做法我發現Skin沒有作用 !! 所以,最後的結論應該是 在Component --> Import Activex Control時按下'install' 按鈕,將對應於*.Ocx的元件TSkin及TSkinLabel元件建立在ActiveX 那一頁 直接拉下來放就可以使用了!! |
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
引言: 1.小弟也確實找過登錄檔裡的Word.Basic,是出現在機碼的資料欄位裡,那麼就 這個case,小弟是不是也可以用資料欄位裡'SkinImage Object'來CreateOleObject 呢? 其實,只要在Import Activex Control時按下'install' 按鈕,對應於*.Ocx的元件TSkin及TSkinLabel元件就會被建立(ActiveX 那一頁) 直接拉下來放就可以使用了,根本不用些一堆程式碼!! 這樣的做法 可以不用去管那些關於Com 物件的繁瑣規則(你一開始附上的BCB程式碼,從取得 Com 物件的介面到建立Instance 都是自行建立) 而使用CreateOleObject其實是要看該Com物件是否支援Ole的規格,像是Word.Basic物件其實就是支援Ole的COM元件!! 而ActiveSkin4.Ocx 我試著使用 CreateOleObject 時com物件可以被建立 可是呼叫相關函式時,是一定要Uses activeskinLib_TLB.pas檔案 一但使用了這個檔案,就不用擔心轉型問題(其實還是透過Delphi作vcl Component及 Com Object之間的Mapping),而且以這種做法我發現Skin沒有作用 !! 所以,最後的結論應該是 在Component --> Import Activex Control時按下'install' 按鈕,將對應於*.Ocx的元件TSkin及TSkinLabel元件建立在ActiveX 那一頁 直接拉下來放就可以使用了!!不知道G01前輩,是本身就有在使用ACTIVESKIN還是因為要回答小弟的問題, 而去找ACTIVESKIN來測試,如果是後者,小弟十分的感謝! 好吧!小弟要進入正題了!在您使用 > |
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
對應修改方式如下 var
visScreen1:ISkinVisual;
visScreen2:ISkinObject;
SkinImage:ISkinImage;
ImagePtr :ISkinImages; //不Create 由Skin1.GetImages取得物件 其中//SkinImage的建立方法
SkinImage := CoSkinImage.Create;
釋放方法
SkinImage := nil; 其餘的程式碼對翻如下 :
self.Skin1.GetSkinnedWindowForm1.Handle).FindObject'yam',visScreen2); ImagePtr := self.Skin1.GetImages; SkinImage.LoadFile('yam'); ImagePtr.DeleteImage(1);
ImagePtr.AddImage('Yam',SkinImage);
visScreen1.refresh; PS: ISkinVisual 介面我下在的active skin並沒有找到(可能是版本不合吧?)
你可以到Delphi的Import目錄中開啟activeSkinLIB_TLB.pas找看看!!
|
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
最後整理如下
procedure TForm1.Button1Click(Sender:TObject)
var a:integer;
visScreen2:ISkinObject;
visScreen1:ISkinVisual;
imagePtr :ISkinImages;
skin_image:ISkinImage;
begin
a := 0;
Self.Skin1.GetSkinnedWindow(Panel1.Handle)
.FindObject('Yam',visScreen2); visScreen2.QueryInterface(IID_ISkinVisual,visScreen1);
//Note. 這一行Code ,其實我並不了解 ISkinViaual與ISkinObject的關係
//但是從字面上看來...SkinObject應該是包含了SkinVisual的介面
//所以就直接將Code翻過來... imagePtr = Skin1->GetImages(); skin_image.CoSkinImage.Create;
a ;
if(a=1)then skin_image.LoadFile('sina.bmp')
else
if(a=2)then skin_image.LoadFile('pchome.bmp')
else
if(a=3)then skin_image.LoadFile('Yahoo.bmp');
else
begin
skin_image.LoadFile('Yam.bmp');
a := 0;
end;//else...end!!
//----------------------------------------------------
imagePtr.DeleteImage(1);
imagePtr.AddImage('Yam',skin_image);
visScreen1.Refresh;
end;
|
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
Sorry !! 修正語法錯誤後----->>最後整理如下
procedure TForm1.Button1Click(Sender:TObject)
var a:integer;
visScreen2:ISkinObject;
visScreen1:ISkinVisual;
imagePtr :ISkinImages;
skin_image:ISkinImage;
begin
a := 0;
Self.Skin1.GetSkinnedWindow(Panel1.Handle)
.FindObject('Yam',visScreen2); visScreen2.QueryInterface(IID_ISkinVisual,visScreen1);
//Note. 這一行Code ,其實我並不了解 ISkinViaual與ISkinObject的關係
//但是從字面上看來...SkinObject應該是包含了SkinVisual的介面
//所以就直接將Code翻過來... imagePtr = Skin1.GetImages();
skin_image.CoSkinImage.Create;
Inc(a);
if(a=1)then skin_image.LoadFile('sina.bmp')
else
if(a=2)then skin_image.LoadFile('pchome.bmp')
else
if(a=3)then skin_image.LoadFile('Yahoo.bmp');
else
begin
skin_image.LoadFile('Yam.bmp');
a := 0;
end;//else...end!!
//----------------------------------------------------
imagePtr.DeleteImage(1);
imagePtr.AddImage('Yam',skin_image);
visScreen1.Refresh;
end;
|
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
不甘心!!再修正一次
procedure TForm1.Button1Click(Sender:TObject)
var a:integer;
visScreen2:ISkinObject;
visScreen1:ISkinVisual;
imagePtr :ISkinImages;
skin_image:ISkinImage;
begin
a := 0;
Self.Skin1.GetSkinnedWindow(Panel1.Handle)
.FindObject('Yam',visScreen2); visScreen2.QueryInterface(IID_ISkinVisual,visScreen1);
//Note. 這一行Code ,其實我並不了解 ISkinViaual與ISkinObject的關係
//但是從字面上看來...SkinObject應該是包含了SkinVisual的介面
//所以就直接將Code翻過來... imagePtr := Skin1.GetImages;
skin_image.CoSkinImage.Create;
Inc(a);
if(a=1)then skin_image.LoadFile('sina.bmp')
else
if(a=2)then skin_image.LoadFile('pchome.bmp')
else
if(a=3)then skin_image.LoadFile('Yahoo.bmp');
else
begin
skin_image.LoadFile('Yam.bmp');
a := 0;
end;//else...end!!
//----------------------------------------------------
imagePtr.DeleteImage(1);
imagePtr.AddImage('Yam',skin_image);
visScreen1.Refresh;
end;
|
tonyplus
初階會員 發表:22 回覆:97 積分:28 註冊:2002-04-13 發送簡訊給我 |
引言: 不甘心!!再修正一次 procedure TForm1.Button1Click(Sender:TObject) var a:integer; visScreen2:ISkinObject; visScreen1:ISkinVisual; imagePtr :ISkinImages; skin_image:ISkinImage; begin a := 0; Self.Skin1.GetSkinnedWindow(Panel1.Handle) .FindObject('Yam',visScreen2); visScreen2.QueryInterface(IID_ISkinVisual,visScreen1); //Note. 這一行Code ,其實我並不了解 ISkinViaual與ISkinObject的關係 //但是從字面上看來...SkinObject應該是包含了SkinVisual的介面 //所以就直接將Code翻過來... imagePtr := Skin1.GetImages; skin_image.CoSkinImage.Create; Inc(a); if(a=1)then skin_image.LoadFile('sina.bmp') else if(a=2)then skin_image.LoadFile('pchome.bmp') else if(a=3)then skin_image.LoadFile('Yahoo.bmp'); else begin skin_image.LoadFile('Yam.bmp'); a := 0; end;//else...end!! //---------------------------------------------------- imagePtr.DeleteImage(1); imagePtr.AddImage('Yam',skin_image); visScreen1.Refresh; end;嘻...佩服前輩不屈不撓的精神,不過小弟有一個小小的疑問? >.* >... 在此謝謝樓上各位前輩的指點,小弟已經得到想要的答案了! 這個主題也終於可以結案了! >! |
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |