问题列表 - 第4368页

如何在.NET 3.5中进行动态对象创建和方法调用

代码看起来如何创建类的对象:

string myClass = "MyClass";
Run Code Online (Sandbox Code Playgroud)

以上类型,然后调用

string myMethod = "MyMethod";
Run Code Online (Sandbox Code Playgroud)

那个对象?

.net c# clr dynamic invocation

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

实现和使用ICommand接口,MVVM

虽然我深深爱上了MVVM模式,但似乎还有很多我无法想象的问题.

我想知道IComamnd接口的方法参数有什么用

例如 void Execute(object parameter);

我将视图绑定到这样的视图模型

<Button Command="{Binding SomeCommand}" ... />
Run Code Online (Sandbox Code Playgroud)

所以" parameter"总是为空.

任何提示都是受欢迎的.

谢谢!

更新: Darn,我发布此问题一分钟后,我在Stackoverflow上找到答案.显然,控件确实有CommandParameter属性.

.net wpf command mvvm

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

如何在.NET WebBrowser控件中阻止下载?

我需要阻止.NET WebBrowser控件显示"您要打开还是保存此文件?" 和"另存为"对话框.相反,我想显示一个消息框,告诉用户出于安全原因禁用了文件下载.

我从FileDownload事件开始WebBrowser,但不允许取消.然后,我使用CodeProject:Extended .NET 2.0 WebBrowser Control中的方法,使用该接口基于原始COM调用实现我自己的事件DWebBrowserEvents2.当我根据有关FileDownload签名的错误的MS知识库条目修复代码时,调用了事件处理程序,我能够取消下载.

但这并不适用于所有下载:下载指向URL的URL,包括.exe引发事件,可以在对话框出现之前取消 - 但对于其他人(如.do),事件处理程序在用户单击之前不会被调用Open,Save或者Cancel在对话.

一个可能的解决方案可能是拦截WH_CALLWNDPROCRET消息并在向用户显示之前"回答"对话框,但这听起来很费劲,我也更喜欢更清洁的解决方案......

有谁知道如何可靠地阻止所有下载?

.net browser download

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

自动测试VBA UserForms-工具和/或技术?

我希望在一个相当大的Excel加载项上开始自动回归测试,该加载项围绕一个由几个带有标准控件的模态UserForms组成的GUI.

主要问题是我所研究的大多数自动化测试工具(Rational Robot,AutomatedQA TestComplete,网络自动化自动化等)并不完全支持VBA控件,所以他们的测试最终会重放鼠标点击和按键,所以不能真的可以维护.理想情况下,我需要一个识别VBA表单控件的测试工具,所以我可以说"按下此按钮并等待此列表框更改"而不是"单击(237,58)并等待500毫秒".

我还考虑将测试自动化作为VBA构建到加载项中,但是用户的大部分时间都花在与模式对话框的交互上,该对话框阻止VBA在后台运行,因此这几乎是不可能的.

我的问题 - 这里的任何人都有使用自动化测试工具的经验

a)识别VBA用户表单控件并可以可靠地与它们进行交互

b)是否支持使用条件分支和成功/失败日志记录的测试脚本,而不仅仅是记录和回放?

或者,有没有人知道我可以解决暂停VBA执行的模式对话问题的方法,以便我可以从VBA中驱动加载项?

我花了一段时间浏览QA论坛,但没有找到任何东西,所以任何帮助或线索将不胜感激.

谢谢你的帮助,

-Martin

testing excel vba automated-tests regression-testing

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

使用JDBC和ODBC将TEXT列插入Informix数据库的一致方法

当我尝试通过JDBC向Informix TEXT列插入一些数据时,我遇到了问题.在ODBC中,我可以像这样简单地运行SQL:

INSERT INTO test_table (text_column) VALUES ('insert')
Run Code Online (Sandbox Code Playgroud)

但这在JDBC中不起作用,我收到错误:

617: A blob data type must be supplied within this context.
Run Code Online (Sandbox Code Playgroud)

我搜索了这个问题,并从2003年发现了消息:

http://groups.google.com/group/comp.databases.informix/browse_thread/thread/4dab38472e521269?ie=UTF-8&oe=utf-8&q=Informix+jdbc+%22A+blob+data+type+must+be+ +此%22内提供的+

我改变了我的代码以使用PreparedStatement.现在它适用于JDBC,但在ODBC中尝试使用PreparedStatement时出现错误:

Error: [Informix][Informix ODBC Driver][Informix]
Illegal attempt to convert Text/Byte blob type.
[SQLCode: -608], [SQLState: S1000]
Run Code Online (Sandbox Code Playgroud)

测试表创建时使用:

CREATE TABLE _text_test (id serial PRIMARY KEY, txt TEXT)
Run Code Online (Sandbox Code Playgroud)

用于测试两个驱动程序的Jython代码:

# for Jython 2.5 invoke with --verify
# beacuse of bug: http://bugs.jython.org/issue1127

import traceback
import sys
from com.ziclix.python.sql import zxJDBC

def test_text(driver, db_url, usr, passwd):
    arr = db_url.split(':', 2)
    dbname …
Run Code Online (Sandbox Code Playgroud)

informix odbc jdbc

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

是否可以通过SSIS建立JDBC连接?

我之前从未使用过JDBC连接,并且只熟悉ODBC连接.我们有一个只支持JDBC的供应商.他们认为ODBC'开源',因此不支持通过ODBC连接与其数据库的连接.有谁知道是否可以通过JDBC创建SSIS连接?我在网上的初步研究中没有得到任何打击.

ssis jdbc

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

使用线程时内存泄漏

我似乎在这段代码中有内存泄漏.它是一个控制台应用程序,它创建了几个类(WorkerThread),每个类都以指定的时间间隔写入控制台.所述Threading.Timer用于做到这一点,因此写入到控制台在一个单独的线程执行(该TimerCallback在从线程池截取的单独的线程调用).更复杂的是,MainThread类挂接到FileSystemWatcher的Changed事件; 当test.xml文件更改时,将重新创建WorkerThread类.

每一次,该文件被保存(每次所述的WorkerThread,因此定时器重新创建),在任务管理器增加存储器(内存使用,有时也VM大小); 此外,在.net内存分析器(V3.1),通过两个的WorkerThread类增加未予处置实例(这可能是一个红色的鲱鱼,但因为我读过的.Net内存分析器有一个bug由此挣扎检测处理班级.

无论如何,这是代码 - 有谁知道什么是错的?

编辑:我已经将类创建移出FileSystemWatcher.Changed事件处理程序,这意味着WorkerThread类总是在同一个线程中创建.我为静态变量添加了一些保护.我还提供了线程信息,以更清楚地显示正在发生的事情,并使用Timer与显式线程交换; 但是,内存仍然在泄漏!内存使用量一直在缓慢增加(这只是由于控制台窗口中的额外文本?),并且当我更改文件时VM大小增加.这是代码的最新版本:

编辑当你写入它时,这似乎主要是控制台使用内存的问题.显式编写的Threads仍然存在增加内存使用量的问题.请参阅下面的答案.

class Program
{
    private static List<WorkerThread> threads = new List<WorkerThread>();

    static void Main(string[] args)
    {
        MainThread.Start();

    }
}

public class MainThread
{
    private static int _eventsRaised = 0;
    private static int _eventsRespondedTo = 0;
    private static bool _reload = false;
    private static readonly object _reloadLock = new object();
    //to do something once in handler, though
    //this code would go in onStart in a windows service.
    public …
Run Code Online (Sandbox Code Playgroud)

.net c# memory multithreading timer

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

存储与数据库无关的架构

我们有一组与多个数据库引擎(包括 Sql Server 和 Access)一起工作的应用程序。每个模式都是单独维护的,而不是以文本形式存储的,这使得源代码控制变得困难。我们有兴趣转移到一个系统,其中模式以某种基于文本的格式(例如 XML 或 YAML)存储,其中包含字段数据类型、外键关系等的描述。

当一切都完成后,我们希望在源代码管理中拥有一个文本文件,该文件可用于生成一个干净的数据库,该数据库至少可与 SQL Server、Access 一起使用(并且最好能够与 Oracle、DB2 和其他引擎)。

我确信有一些工具或库可以让我们至少完成一部分工作。首先,我发现Altova MapForce看起来似乎可以解决问题,但我有兴趣了解任何替代工具或库,甚至是针对处于相同困境的人的完全不同的解决方案。

注意:应用程序是用 C++ 编写的,而 ORM 解决方案都不是用 C++ 编写的,并且需要很长时间才能集成到我们老化的产品中。

database sql-server schema ms-access xsd

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

如何只从程序集中公开一个特定的类?

假设程序集Assembly1.dll包含3个类:C1,C2,C3类.

我想只将C1级暴露给外界.无法访问C2和C3类.如何实现这一目标?

注意:将类C2和C3设为私有不是一个选项,因为这将使它们在程序集本身内无法访问.

c# oop assemblies

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

C++:string.empty()总是等于string ==""?

我可以假设给定

std::string str;
... // do something to str
Run Code Online (Sandbox Code Playgroud)

以下陈述是否总是如此?

(str.empty() == (str == ""))
Run Code Online (Sandbox Code Playgroud)

c++ string

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