问题列表 - 第25008页

Delphi - 从静态链接的MSVC++编译的DLL捕获stdout和stderr输出

我一直在尝试从MSVC++中编译的DLL中捕获stdoutstderr输出,这是我的Delphi应用程序静态链接到的,但到目前为止都没有成功.

procedure Test;
var
  fs: TFileStream;

begin
  fs := TFileStream.Create('C:\temp\output.log', fmCreate or fmShareDenyWrite);
  SetStdHandle(STD_OUTPUT_HANDLE, fs.Handle);
  SetStdHandle(STD_ERROR_HANDLE, fs.Handle);

  dllFunc(0); // Writes to stdout in MSVC++ console app, but not here
  // fs.Length is always zero

  fs.Free;
end;
Run Code Online (Sandbox Code Playgroud)

以为我在正确的轨道上,但它不起作用.

  1. SetStdHandle()足够吗?
  2. TFileStream在这里使用是正确的吗?
  3. 我是否正确使用TFileStream进行SetStdHandle()?
  4. 当应用程序加载时,DLL是否可能设置其stdout/stderr句柄?如果是这样,使用SetStdHandle()或等效的最佳位置在哪里?

任何帮助,将不胜感激.

c++ delphi dll stdout stderr

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

写系统调用文件desciptor ZERO

int main ( )
{
    char C[] = "Hello World";
    write(0,C,sizeof(C));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在上面的程序中,我写的是文件描述符ZERO,我认为默认情况下是STDIN ..那我为什么要在STDOUT输出?

shadyabhi@shadyabhi-desktop:~$ ./a.out
Hello Worldshadyabhi@shadyabhi-desktop:~$
Run Code Online (Sandbox Code Playgroud)

c linux gcc

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

GridView中的C#HTML标记

我有一个我在C#中编写的SharePoint Web部件,用于根据用户选择显示SQL Server数据.我使用DataReader提取数据,用它填充DataSet,并将DataSet设置为GridView中的DataSource,并将该控件添加到我的页面:

GridView outputGrid = new GridView();
outputGrid.CssClass = "OutputGrid";
outputGrid.DataSource = flipped_ds1;
outputGrid.RowDataBound += outputGrid_RowDataBound;
outputGrid.DataBind();
Controls.Add(outputGrid);
Run Code Online (Sandbox Code Playgroud)

这给了我一个带有声明的CSS类的简单HTML表,就是它.我面临的唯一问题是数据字段中的换行符根本没有呈现.我只是得到一个文本块,忽略了数据库呈现为HTML时存在的中断.在单步执行代码时,我看到换行符以"\ r \n"的形式作为文本进入.我尝试了一个正则表达式:

Regex rgx = new Regex("\r\n");
string inputStr = Convert.ToString(dr[x]);
string outputStr = rgx.Replace(inputStr, "<br />");
newRow[ds3.Tables["Bobst Specs 3"].Columns[x]] = outputStr;
Run Code Online (Sandbox Code Playgroud)

虽然它确实检测并替换换行符,但我只是得到
没有换行符的文本" ".在查看HTML源代码时,它会在我指定"
"的位置插入以下行:

&lt;br /&gt;
Run Code Online (Sandbox Code Playgroud)

我还尝试将我的SQL查询更改为以下内容:

SELECT REPLACE (fldCustomerName, '. ', '.' + @NewLineChar)
Run Code Online (Sandbox Code Playgroud)

这显然会带来更多新的线条.我可以看到它们存在,因为如果我也插入正则表达式它们会受到影响,但不会创建换行符.我不知道如何更换这些,以及如何更换线条来实际打破.

html c# sql asp.net gridview

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

如何通过Java更新LDAP时指定哈希算法?

有没有办法指定使用Java API更新Open LDAP目录时用于存储密码的哈希算法(MD5,SHA1等),代码如下:

private void resetPassword(String principal, String newPassword) throws NamingException {
InitialDirContext ctxAdmin = null;
    Hashtable<String, String> ctxData = new Hashtable<String, String>();
    ctxData.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    ctxData.put(Context.PROVIDER_URL, "ldap://myserver:389");
    ctxData.put(Context.SECURITY_AUTHENTICATION, "simple");
    ctxData.put(Context.SECURITY_PRINCIPAL, "admin_dn");
    ctxData.put(Context.SECURITY_CREDENTIALS, "admin_passwd");
    InitialDirContext ctxAdmin = new InitialDirContext(ctxData);
    if (newPassword == null || newPassword.equals("")) {
        String msg = "Password can't be null";
        throw new NamingException(msg);
    } else {
        if (principal == null || principal.equals("")) {
            String msg = "Principal can't be null";
            throw new NamingException(msg);
        } else {
        if (ctxAdmin …
Run Code Online (Sandbox Code Playgroud)

java hash ldap

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

x86程序集abs()实现?

我需要得到2个有符号整数的区别.是否有x86汇编语言的ABS()函数,所以我可以这样做.任何帮助将不胜感激.

x86 assembly

20
推荐指数
6
解决办法
3万
查看次数

如何使用jquery更改页面加载上的元素名称?

我需要知道如何更改元素的名称.我有该元素的id说它是"tester" 好的,页面加载问题可以通过这种方式解决.

 $(document).ready(function() {

 });
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能更改这样的元素的名称?

<div id="tester" name="fun">
</div>
Run Code Online (Sandbox Code Playgroud)

我想要的结果

<div id="tester" name="tester">
</div>
Run Code Online (Sandbox Code Playgroud)

jquery

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

有没有免费的Python到C翻译器?

有没有免费的Python到C翻译器?例如能够将像lib这样的lib转换为快速内容感知图像大小调整(已经依赖于某些C lib)到C文件?

c python code-translation

5
推荐指数
2
解决办法
1万
查看次数

int foo(type&bar); 是一种不好的做法?

好吧,我们来了.我的C++书籍提出了另一个提议的做法.它说"返回值(非空)函数不应该将引用类型作为参数." 所以基本上如果你要实现这样的函数:

int read_file(int& into){
   ...
}
Run Code Online (Sandbox Code Playgroud)

并使用整数返回值作为某种错误指示符(忽略我们有异常的事实)然后该函数编写得很糟糕它实际上应该像

void read_file(int& into, int& error){

}
Run Code Online (Sandbox Code Playgroud)

现在对我来说,第一个更清晰,更好用.如果要忽略错误值,可以轻松完成.但是这本书暗示了后来的.请注意,本书并未说返回值函数是坏的.它宁愿说你应该只返回一个值,或者你应该只使用引用.

你对此有何看法?我的书上装满了废话吗?(再次)

c++ reference function

3
推荐指数
2
解决办法
404
查看次数

在VS.NET 2010中切换目标框架

有没有办法一举改变解决方案的所有项目的目标框架?改变18个项目的目标有点单调乏味.

visual-studio-2010 target-framework

4
推荐指数
2
解决办法
4898
查看次数

MySQL连接和安全性

我想知道是否有人可以通过连接到不存在于'localhost'的MySQL数据库(即通过IP地址)来确定是否存在任何潜在的安全性问题?

mysql security encryption

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