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

由自己增加的Unit2.c檔 如何寫 可以去控制 "Unit1.c視窗元件"

尚未結案
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-15 22:17:47 IP:211.76.xxx.xxx 未訂閱
一般在只有1個.C檔時 [就是開出視窗那個] 自己寫如 void __fastcall TForm1::Try(TObject *Sender) {         ImageABC->Visible=false; } 的話 此時選取一些物件 切換到Events時 選取一些事件發生時 可以直接發現 Try此選擇 並可以選取 但是此函式如果不是寫再 一開始視窗附的.c檔中的話..... 就不能做藍色的事.... 該怎麼達成此目的 ------------------------------分格線---------------------- 此外 我換個做法 在一開始的.C寫 void __fastcall TForm1::Try(TObject *Sender) { Try2(); } 去呼叫寫在Unit2.c的函式..... 結果....失敗^^" 如果要這麼做 該怎麼寫?? ----------------------------分格線------------------------ 是否可以在知道該元件名稱 與其所在視窗下 尤其他.C檔來控制他 而不須寫在一開始的.C檔中 發表人 - rik 於 2004/12/15 23:57:58
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
ldd
一般會員


發表:12
回覆:62
積分:19
註冊:2004-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-15 23:12:36 IP:61.59.xxx.xxx 未訂閱
如果你是由unit1.c控制unit2.c上面的物件...在unit.c裡面include unit2.h 之後就可以用TFORM2->Try() 就可以由unit1.c呼叫unit2.c的function....
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-15 23:29:16 IP:211.76.xxx.xxx 未訂閱
引言: 如果你是由unit1.c控制unit2.c上面的物件...在unit.c裡面include unit2.h 之後就可以用TFORM2->Try() 就可以由unit1.c呼叫unit2.c的function....
抱歉 我不太懂你的意思^^" 你的意思是 物件在unit2.c上 由unit1.c控制它 在.....後 就可以由unit1.c呼叫unit2.c的function.... 如果是就此說法 我想要的是 function在unit1.c上 物件在unit2.c上 然後由unit2.c CALL unit1.c 來控制unit2.c的元件
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-15 23:39:14 IP:211.76.xxx.xxx 未訂閱
我稍微整理一下問題    狀況 有UnitA.cpp UnitA.h UnitB.cpp UnutB.h 和視窗有直接關係的是UnitA.cpp UnitA.h 後來我自己叫出來的是UnitB.cpp UnutB.h 在視窗中有1張圖(ImageA) 要求 1.達成 ImageA OnClink 時 讓圖片 隱藏 2.ImageA->Visible=false; 必須出現於UnitB.cpp 且不能出現在UnitA.cpp 發表人 - rik 於 2004/12/15 23:41:22
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-16 08:24:54 IP:61.64.xxx.xxx 未訂閱
要注意紅字部份
//---------------------------------------------------------------------------
// Unit2.h    #ifndef Unit2H
#define Unit2H    #include "graphics.hpp"
void ShowPic(TImage* pic, BOOL bShow);    //---------------------------------------------------------------------------
#endif
/////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------
// Unit2.cpp    #include 
#pragma hdrstop    #include "Unit2.h"    //---------------------------------------------------------------------------    void ShowPic(TImage* pic, BOOL bShow)
{
  pic->Visible = bShow;
}    #pragma package(smart_init)
////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------
// Unit1.cpp    #include 
#pragma hdrstop    #include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;    void __fastcall TForm1::Button1Click(TObject *Sender)
{
  // 隱藏Image1
  ShowPic(Image1, FALSE);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  // 顯示Image1
  ShowPic(Image1, TRUE);
}
//---------------------------------------------------------------------------
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-16 12:40:20 IP:163.13.xxx.xxx 未訂閱
在自己開的新檔案這麼作 成功了^^    但是用在 正在寫的檔案時 出現了 Link error [Linker Error] Unresolved external 'ShowPic(Extctrls::TImage *, int)' referenced from E:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\BT_0_1\BT_0_1.OBJ    我哪裡忘了改啥了嗎@@?     又OK了 後來把第2個檔 Add to Project後可以了-口-" 有個問題 直接把第2個.C檔 由其他資料夾COPY到現在要用的資料夾 之後 "有無" 把他Add to Project 差別在哪? 發表人 - rik 於 2004/12/16 13:42:02
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-16 18:25:55 IP:210.243.xxx.xxx 未訂閱
引言: 在自己開的新檔案這麼作 成功了^^ 但是用在 正在寫的檔案時 出現了 Link error [Linker Error] Unresolved external 'ShowPic(Extctrls::TImage *, int)' referenced from E:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\BT_0_1\BT_0_1.OBJ 我哪裡忘了改啥了嗎@@? 又OK了 後來把第2個檔 Add to Project後可以了-口-" 有個問題 直接把第2個.C檔 由其他資料夾COPY到現在要用的資料夾 之後 "有無" 把他Add to Project 差別在哪? 發表人 - rik 於 2004/12/16 13:42:02
要把*.c檔加入Project, complier才找的到你的function實作在哪裡.
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-16 21:28:32 IP:211.76.xxx.xxx 未訂閱
引言:
引言: 在自己開的新檔案這麼作 成功了^^ 但是用在 正在寫的檔案時 出現了 Link error [Linker Error] Unresolved external 'ShowPic(Extctrls::TImage *, int)' referenced from E:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\BT_0_1\BT_0_1.OBJ 我哪裡忘了改啥了嗎@@? 又OK了 後來把第2個檔 Add to Project後可以了-口-" 有個問題 直接把第2個.C檔 由其他資料夾COPY到現在要用的資料夾 之後 "有無" 把他Add to Project 差別在哪? 發表人 - rik 於 2004/12/16 13:42:02
要把*.c檔加入Project, complier才找的到你的function實作在哪裡.
喔喔^^ 學到了 謝謝^^
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
系統時間:2024-09-15 4:43:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!