标签: c++builder

c# 中的 c++ AnsiString 等价物是什么?

我正在尝试将 C++ 代码转换为 C#。我对 C++ 的了解只有 10%。
这是我试图在 c# “ ”中转换的代码部分AnsiString something[200];。” AnsiString hi = "hello";“。

先感谢您。

c# c++builder

1
推荐指数
1
解决办法
1596
查看次数

释放 TStreamAdapter 时指针操作无效

谁能澄清为什么当我尝试删除时会收到“无效的指针操作” TStreamAdapter?或者...如何正确释放内存TStreamAdapter?如果我删除它,它会起作用,delete但这会导致内存泄漏。即使我使用 boost::scoped_ptr 它也会失败并出现相同的错误。

注意:我也尝试TStreamAdaptersoOwned值初始化,同样的错误。

代码:

HRESULT LoadFromStr(TWebBrowser* WB, const UnicodeString& HTML)
{
if (!WB->Document)
    {
    WB->Navigate("about:blank");
    while (!WB->Document) { Application->ProcessMessages(); }
    }

DelphiInterface<IHTMLDocument2> diDoc = WB->Document;

if (diDoc)
    {
    boost::scoped_ptr<TMemoryStream> ms(new TMemoryStream);

        {
        boost::scoped_ptr<TStringList> sl(new TStringList);
        sl->Text = HTML;
        sl->SaveToStream(ms.get(), TEncoding::Unicode);
        ms->Position = 0;
        }

    DelphiInterface<IPersistStreamInit> diPSI;

    if (SUCCEEDED(diDoc->QueryInterface(IID_IPersistStreamInit, (void**)&diPSI)) && diPSI)
        {
        TStreamAdapter* sa = new TStreamAdapter(ms.get(), soReference);
        diPSI->Load(*sa);
        delete sa;  // <-- invalid pointer operation here???

        // UPDATED …
Run Code Online (Sandbox Code Playgroud)

com c++builder

1
推荐指数
1
解决办法
184
查看次数

自定义Android权限请求消息?

按照 Embarcadero Android 权限模型文档并查看 Camera cpp 移动片段示例,我现在可以成功请求用户权限。

但是,我不知道如何自定义请求消息。我只是请求许可read external storage- 我不希望收到询问照片等的消息。

在此输入图像描述

我如何自定义此消息?

c++builder firemonkey c++builder-10.3-rio

1
推荐指数
1
解决办法
2196
查看次数

如何在C++Builder中让两个Form访问相同的变量

.cpp我有两个表单,两者都包含具有这些全局变量的同一文件:

static vector<News> allNews;
static vector<user> allUsers;
static admin appAdmin("admin", "adminpassword");
static int userIndex =0;
Run Code Online (Sandbox Code Playgroud)

问题是,当 Form将对象A添加News 到 时vector,第二个 FormB似乎正在查看一个不同的vector空对象。

我该如何解决这个问题?

c++ c++builder

1
推荐指数
1
解决办法
213
查看次数

我怎么能在winXP中创建一个隐藏进程窗口(从任务栏)的进程?使用CreateProcess函数?

 /* CreateProcess initialization */
 STARTUPINFO si;
 PROCESS_INFORMATION pi;

 memset(&si, 0, sizeof(si));
 memset(&pi, 0, sizeof(pi));
 si.cb = sizeof(si);

 long ret;
 // si.wShowWindow = SW_HIDE;
 // hide process window.... // run in background..

 si.dwFlags = STARTF_USESHOWWINDOW;
 si.wShowWindow = SW_HIDE;

 if (!CreateProcess(0, exe,
        0, 0, 1, NORMAL_PRIORITY_CLASS, 0, 0, &si, &pi)) {
    return;
 }
 //int prez = WaitForSingleObject(pi.hProcess, INFINITE);

 //CloseHandle(pi.hProcess);
Run Code Online (Sandbox Code Playgroud)

c++ winapi createprocess c++builder

0
推荐指数
1
解决办法
6644
查看次数

Sum Float数字c ++

可能重复:
表示中的浮点错误?

我有这个代码的问题

int cent;
int dollar ;
float cnt2dlr;
 //convert cnt to doloar ;
cnt2dlr=(cnt)/(100);
Run Code Online (Sandbox Code Playgroud)

问题是何时cnt = 175,cnt2dlr = 0.17,444444而不是0.17,5

有帮助吗?

c++ floating-point c++builder

0
推荐指数
1
解决办法
1773
查看次数

TPanel中的标题如TRadioGroup?

如何将TPanel的标题放在顶行,如TRadioGroup的标题?

在表单中,我想创建几组控件.每个组都在一个矩形内,我需要将标题放在矩形的左上角,在线上.可能吗?

delphi c++builder

0
推荐指数
1
解决办法
162
查看次数

在C++ Builder和VC++中使用std :: string的差异

因为我可以得到新的RAD Studio Xe4,我想我会尝试一下.不幸的是,我对C++并不熟悉,因此我想知道为什么在VC++中完美运行的代码在C++ Builder中根本不起作用.大多数问题都是转换不同的var类型.例如 :

std::string Test = " ";
GetFileAttributes(Test.c_str());
Run Code Online (Sandbox Code Playgroud)

在VC++中工作,但在C++ Builder中它不会编译,告诉我"E2034无法将'const char*'转换为'wchar_t*'.我错过了什么?在所有编译器上工作原理不同的原因是什么?同样的?谢谢

c++ c++builder visual-studio-2010

0
推荐指数
1
解决办法
2018
查看次数

TThread.Synchronize()如何工作?

我使用Synchronize()C++ Builder 2010中的方法测试了以下代码:

while(true) {}
CreateDirectory ("D:\\test", NULL);
Run Code Online (Sandbox Code Playgroud)

发生了什么是UI冻结,并且没有创建文件夹.这是否意味着Synchronize()将代码传递给UI线程来执行它,然后等待代码执行后再继续?


编辑:

我错误地解释了我在测试代码中所做的事情.我真正做的是以下内容:

我打电话Synchronize()给以下代码:

while(true) {}
Run Code Online (Sandbox Code Playgroud)

在打电话之后Synchronize(),我有以下代码:

CreateDirectory ("D:\\test", NULL);
Run Code Online (Sandbox Code Playgroud)

delphi c++builder

0
推荐指数
1
解决办法
1810
查看次数

集中儿童表格不起作用

我有一个如下工作的应用程序:有一个主要表单,它是用于注册,搜索等的开放子表单.目的是在主表单的中心始终打开子表单,无论其大小如何.为此我在表单son onCreate中使用以下代码:

formChild->Left=(MainForm->pnlMain->Width/2);
formChild->Top=(MainForm->pnlMain->Height/2)-(formChild->Height/2);
Run Code Online (Sandbox Code Playgroud)

到目前为止一切正确,表单正确居中,如下图所示:

在此输入图像描述

关闭子窗体时,将恢复主窗体并打开子窗体,出现以下问题: 在此输入图像描述

子表单是在第一次生成的位置生成的(使用最大化窗口).

delphi c++builder

0
推荐指数
1
解决办法
137
查看次数