vcl

    11熱度

    1回答

    我有一個TComponent它控制了一些用戶界面。該組件旨在通過使用條件來支持VCL和Firemonkey。這些條件指示我的組件是接受VCL控件還是FMX控件。目前預計此條件在應用程序級別上定義,以指示組件在運行時是否管理VCL或FMX控件。 我想將我的組件發佈到支持VCL和FMX的IDE中,共​​享具有條件的單元。但是,根據當前是否使用VCL或FMX,屬性名稱/類型會有所不同。 例如... ty

    -1熱度

    1回答

    如果您在默認情況下創建Delphi VCL應用程序,您將擁有一個VCL表單,如果您運行應用程序,則任務欄上只有一個圖標。之後,如果添加一個FMX表單,你可以同時使用兩種表單並使用它們。但是在應用程序運行時在任務欄中有兩個圖標。無論如何刪除它的標題是項目名稱,並保留另一個是你的主要形式? 我正在使用delphi XE8。

    0熱度

    1回答

    我想在C++ builder中使用TWICImage類將內存中的位圖保存爲TIFF文件。但是,在TWICImage上使用Assign()方法的任何嘗試都會導致訪問錯誤。 例如: TBitmap* bmp = new TBitmap(); TWICImage* wic = new TWICImage(); wic->Assign(bmp); 給出了訪問衝突上的第三行。

    0熱度

    1回答

    我和我的同事在C++ Builder程序有一個奇怪的錯誤,並煮下來到下面的代碼片段: #include <vcl.h> #include <iostream> void SIDE_EFFECTS() { if (StrToFloat("1337")) { throw "abc"; } } int _tmain(int argc, _TCHAR* argv

    0熱度

    1回答

    我是一個新手,我正在使用StringGrid和甘特圖來處理C++ VCL項目。我想要做的是在一個新數據輸入到StringGrid中時自動「更新」甘特條。 我要做的首先是創建與此命令欄的圖表: TGanttSeries *Series1; int i = 0; Series1 = new TGanttSeries(this); Series1->AddGantt(StrToDate(Stri

    0熱度

    1回答

    使用將舊桌面應用程序移植到RAD Studio 10.1 Berlin。應用程序最後是在C++ Builder 6中建立的(很多很多以前)。 管理整理所有的組件和外部庫依賴項,但它似乎有一些與Unicode端口一直存在的問題。該應用過去主要依賴內置的String類型,現在對應於AnsiString。 源代碼構建,但二進制在執行任何應用程序代碼之前在某處引發了訪問衝突。錯誤堆棧跟蹤: [email 

    1熱度

    1回答

    我想爲TStringGrid實現一個FillCell過程。我想用某種顏色填充某個單元格,但僅當單元格(行)沒有被選中時填充。 procedure TMyStrGrid.FillCell(Rect: TRect; aColor: TColor); begin //if NOT (gdSelected in State) then <---- how do I obtain the 'State'

    3熱度

    1回答

    我正在使用TGridPanel來保存一些面板。在設計時,我已將網格面板設置爲1行5列。 我可以添加使用此代碼面板到電網,效果很好: procedure TForm6.AddPanelToGrid(const ACaption: string); var pnl: TPanel; begin pnl := TPanel.Create(gpOne); pnl.Capt

    0熱度

    1回答

    首先,我使用VCL組件,並且我不知道是否可以在沒有FireMonkey組件的情況下執行此項目......(如果這是不可能的,我將使用firemonkey組件) 我的問題非常簡單,我正在尋找一個項目的例子或概念,在那裏我可以使用Android的應用程序(客戶端)來控制PC上的另一個(服務器)一個WLAN。我現在試着更好地解釋: WINDOWS '' 服務器 ''(因爲我調用服務器,但正常W8/W10

    2熱度

    2回答

    我正在使用Mutex將我的應用程序限制爲只有一個實例。這是代碼: HANDLE hMutex; hMutex = CreateMutex(NULL, FALSE, "MyTestApp"); if(hMutex == NULL) ShowMessage(GetLastError()); else if(GetLastError() == ERROR_ALREADY_EX