小编Shd*_*dNx的帖子

以编程方式安装MSI包

我想从我的C#.NET应用程序以编程方式安装一个给定的.msi包,最好是我的应用程序指定的安装参数(如安装路径,拒绝crapware等).

我做了一些搜索,但我还没有找到任何有用的东西.最有希望的命中了这个话题,但我找不到任何文档Microsoft.Deployment.WindowsInstallerWindowsInstaller.Installer与此有关.

.net c# windows-installer wix dtf

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

用于查找轮廓的OpenCV示例代码:向量释放问题

我正在尝试在OpenCV 2.4.2中开始使用轮廓检测​​.为此,我为OpenCV设置了一个项目,并复制了文档中的完整示例代码.供将来参考,以下是代码:

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

using namespace cv;
using namespace std;

Mat src; Mat src_gray;
int thresh = 100;
int max_thresh = 255;
RNG rng(12345);

/// Function header
void thresh_callback(int, void* );

/** @function main */
int main( int argc, char** argv )
{
  /// Load source image and convert it to gray
  src = imread( argv[1], 1 );

  /// Convert image to gray and blur it
  cvtColor( src, src_gray, CV_BGR2GRAY …
Run Code Online (Sandbox Code Playgroud)

c++ memory opencv image-processing

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

.NET继承(WinForms)表单 - VS设计器问题

我在C#应用程序中有几种形式.我使用Visual Studio 2010 Beta,但是使用.NET 3.5和C#3.

我有一个基本形式,在Shd命名空间中称为FilteredQueryViewForm,我想要一些其他形式来继承它(因为它们基本上会做同样的事情,但有一些补充).

我在FilteredQueryViewForm类中将内容从private更改为protected,因此可以从派生表单中访问它们.在此之后,我创建了一个派生表单,并将基类设置为FilteredQueryViewForm.

派生类的设计者抱怨Shd.FilteredQueryViewForm没有任何构造函数......不管它有一个具有3个参数的事实.我认为参数可能是一个问题,所以我也创建了一个没有参数的(公共的,当然)构造函数,但它仍然不起作用.错误消息是相同的:

"找不到类型'Shd.FilteredQueryViewForm'的构造函数."

并且派生类的设计者不会加载.我已经尝试重新启动vs2010beta,重新创建派生表单,但似乎没有任何帮助.谷歌在这个问题上没有给我带来任何有用的结果.:(

这是Visual Studio 2010 Beta的问题吗?或者我做错了什么?

c# visual-inheritance visual-studio-2010-beta-1 winforms

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

构建 LLVM 10 C++ 工具链的问题

具体来说,我想构建 Clang、lld、lldb、libc++ 和 compiler-rt,并将 Clang 配置为默认使用这些。我在 x86-64 Linux 发行版(Oracle Linux)上,所以我相信这应该得到支持。

这就是我所做的,经过多次尝试和大量的谷歌/文档阅读:

git clone https://github.com/llvm/llvm-project.git -b llvmorg-10.0.0
cd llvm-project

mkdir build
cd build

cmake \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_C_FLAGS_RELEASE='-DNDEBUG -Ofast' \
    -D CMAKE_CXX_FLAGS_RELEASE='-DNDEBUG -Ofast' \
    -D CMAKE_INSTALL_PREFIX=/opt/llvm10-toolchain \
    -D LLVM_ENABLE_WARNINGS=Off \
    -D LLVM_TARGETS_TO_BUILD=X86 \
    -D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb" \
    -D LLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
    -D LLVM_INCLUDE_TOOLS=On \
    -D LLVM_BUILD_TOOLS=On \
    -D LLVM_INCLUDE_BENCHMARKS=Off \
    -D LLVM_INSTALL_BINUTILS_SYMLINKS=On \
    -D LLVM_INSTALL_CCTOOLS_SYMLINKS=On \
    -D LLVM_APPEND_VC_REV=On \
    -D LLVM_ENABLE_THREADS=On \
    -D LLVM_ENABLE_LTO=On \
    -D LLVM_ENABLE_BINDINGS=Off \
    -D LLVM_LIBDIR_SUFFIX=64 \ …
Run Code Online (Sandbox Code Playgroud)

c++ build llvm clang

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

Next.js:在getInitialProps()中获取数据:服务器端与客户端

我正在使用Next.js,我有一个使用Express的自定义服务器.我有一个页面需要数据库中的一些数据.

getInitialProps(),当在服务器上运行时,可以从数据库中获取数据并返回它,没有任何问题.但是,getInitialProps()也可以在客户端运行(当用户最初请求不同的页面时,然后导航到此页面).在那种情况下,由于我在客户端,我显然不能只从数据库中获取数据 - 我必须使用AJAX与服务器通信并要求它为我检索它.

当然,这也意味着我已经在服务器上定义了一个新的Express路由来处理这个请求,它将包含与服务器端部分完全相同的代码getInitialProps(),这是非常不受欢迎的.

处理这个问题的最佳方法是什么?

javascript ajax express next.js

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

F#奇怪的printfn问题

我正在玩F#(Visual Studio 2010 beta 1),我写了一个小的控制台脚本,要求用户输入2个数字和一个操作符,然后执行它.它工作正常,除了一个微小但令人烦恼的事情:有时我的printfn指令被忽略.我在代码中放置了断点,以确定情况确实如此.

代码段:

let convert (source : string) =
    try System.Int32.Parse(source)
    with :? System.FormatException ->
        printfn "'%s' is not a number!" source;
        waitForExitKey();
        exit 1

let read =
    printfn "Please enter a number.";
    System.Console.ReadLine

let num1 : int = read() |> convert // the printfn in the read function is run...
let num2 : int = read() |> convert // ... but here is ignored
Run Code Online (Sandbox Code Playgroud)

这当然不是完整的来源,但我认为这就足够了.如果您需要完整的来源,请告诉我.

所以我的问题很简单:printfn导致这个问题的原因是什么?难道我做错了什么?

提前谢谢,ShdNx

f#

7
推荐指数
2
解决办法
1955
查看次数

Lambda表达式,捕获变量和线程

我知道.NET lambda表达式可以捕获外部变量.但是,我已经很多次看到变量作为参数显式传递给lambda表达式,而.NET库似乎也支持它(例如ThreadPool.QueueUserWorkItem).

我的问题是这些捕获的局限性是什么?如果lambda实际上是在与创建它们的线程不同的线程上执行的(例如ThreadPool.QueueUserWorkItem或Thread),或者作为回调的lambas(即稍后调用)?

一般来说,何时应该依赖捕获的变量,何时使用显式参数?例如:

public void DoStuff()
{
     string message = GetMessage();

     ThreadPool.QueueUserWorkItem(s => SendMessage(message)); // use captured variable
     // -- OR --
     ThreadPool.QueueUserWorkItem(s =>
          {
               string msg = (string)s;
               SendMessage(msg);
          }, message); // use explicit parameter
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

更新:修复了第二个ThreadPool.QueueUserWorkItem示例.

.net c# lambda multithreading

7
推荐指数
2
解决办法
3255
查看次数

IL:ldfld vs ldflda

我正在使用Mono.Cecil编写一个小型IL编织应用程序,这需要我在IL级别上操作目标程序集.

我的问题很简单,但我仍然觉得这件事很混乱.这些ldfldldflda说明之间有什么实际区别?

我已经咨询了msdn,看来在ldfld获取字段的值时,ldflda获取字段的地址.好的......但是这意味着什么?我首先想到前者用于值类型(和字符串),后者用于引用类型,但我编译了一个C#片段并在Reflector中检查它,这证明我错了.

在C#编译器发出ldflda的时候ldfld,我找不到任何明显的模式,而我的搜索没有透露任何可以解释这一点的文章.那么何时使用ldflda而不是ldfld

任何帮助将非常感谢.

.net c# il

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

C++使用对正在定义的变量的引用

以下代码是否有效C++,根据标准(折扣... s)?

bool f(T& r)
{
    if(...)
    {
        r = ...;
        return true;
    }
    return false;
}

T x = (f(x) ? x : T());
Run Code Online (Sandbox Code Playgroud)

众所周知,在这个项目使用的GCC版本中编译(4.1.2和3.2.3 ...甚至没有让我开始...),但应该吗?

编辑:我添加了一些细节,例如f()概念在原始代码中的样子.基本上,它意味着在某些条件下初始化x.

c++ scope object-lifetime language-lawyer self-reference

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

LINQ to SQL - 数据库生成一个已在使用的密钥

我有一个简单的问题,即读取Excel文件(使用互操作)并使用从中提取的一些数据填充MSSQL数据库文件.到目前为止这很好.我有一个Shops表,其中包含以下字段:

  • ID:int,自动生成,自动同步:插入
  • 名称:字符串
  • 结算:字符串
  • 县:字符串
  • 地址:字符串

我阅读了excel文件,然后创建了一个新的Shops对象并设置了Name,Settlement,County和Address属性,并使用新的Shops对象调用Shops.InsertOnSubmit().

在此之后我必须重置数据库(至少是表),我发现最简单的方法是调用DeleteDatabase()方法,然后再次调用CreateDatabase().问题是,在第一次重置后,当我再次尝试填充表时,我得到异常:数据库生成了一个已经在使用的密钥.

另外,从那时起,我无法使用该数据库文件,因为DatabaseExists()返回FALSE,但是当我调用CreateDatabase()方法时,它抛出一个异常,数据库已经存在(尽管数据文件没有不存在).

我究竟做错了什么?非常感谢你提前!

c# sql-server linq-to-sql

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