小编Car*_*ger的帖子

ReDim保留"下标超出范围"

我试图将数据从2个双数组移动到2个不同的双数组.我不确定大小是多少,因为我从第一个数组中取出一个随机样本并将其放入第二个数组中.

当我添加ReDim Preserve行时,我得到下标超出范围错误.

Function CreateTrainingSet(TrainingPercent As Double, Inputs() As Double, Outputs() As Double)
 ' Create Randomized Training set data
 Dim TrainingInputs() As Double, TrainingOutputs() As Double
 Dim i As Integer, j As Integer, count As Integer
 'ReDim TrainingInputs(UBound(Inputs, 1), UBound(Inputs, 2))
 'ReDim TrainingOutputs(UBound(Outputs, 1), UBound(Outputs, 2))
 count = 0

 ' Move TraningPercent % of data from Inputs and Outputs to TrainingInputs and TrainingOutputs
 For i = LBound(Inputs, 1) To UBound(Inputs, 1)
  Dim ran As Double
  ran = Rnd()
  If ran …
Run Code Online (Sandbox Code Playgroud)

arrays vb6 excel vba excel-vba

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

WCF服务主机配置 - 请尝试将HTTP端口更改为8732

我有一个复杂的基于WCF服务的解决方案在我的PC上工作,但由于安装Windows 8.1时出现问题,我不得不'刷新'我的电脑.现在我重新安装了Visual Studio 2012,我的项目不再正常运行.

当我调试单元测试时,wcfservicehost显示错误:

Please try changing the HTTP port to 8733 or running as Administrator.
System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:8732/Design_Time_Addresses/MyWCFService/Name/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details). ---> System.Net.HttpListenerException: Access is denied
Run Code Online (Sandbox Code Playgroud)

显然,通常的解决方案是以管理员身份运行Visual Studio(可能因为它会在某处覆盖某些内容)但是我无法执行此操作,因为我需要在网络驱动器上引用DLL并且当您使用时无法访问网络驱动器以管理员身份运行.

我假设有一个配置文件或注册表项确定运行时Visual Studio或WCF服务主机使用哪个端口,并且我以前的Windows安装中有一个剩余的条目.

要将端口更改为8733,需要编辑每个服务,重新引用它们,然后重建解决方案并希望它能够正常工作.

有没有办法设置或强制WCF服务主机使用的端口?

wcf

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

如何获得面向未来的用户友好操作系统版本?

这个问题,如何从VB 6应用程序中确定Windows版本, Cody Gray提供了一个非常有用的答案,它使用GetVersionEx和Select Case语句将Windows版本作为用户友好字符串返回.

但是,给出的代码是有限的,因为所有返回值都是硬编码的,这意味着它不是未来的证据,并且每次新版本的Windows出来时都需要重写,例如Windows 8.

除了使用GetVersionEx和Select Case语句之外,还有其他选项可以检索用户友好的操作系统名称,这也是相对未来的证据吗?

windows vb6

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

如何在Visual Studio 2010中向项目添加清单文件?

我正在尝试使用Visual Studio 2010将清单文件添加到项目中,以便将项目设置为与Windows 7兼容并禁用虚拟化.

问题是,在我的Visual Studio 2010中,没有选项"Application Manifest File"可以选择何时添加新项目.

我可以在构建项目时生成清单文件,因为我在链接器中设置属性来执行此操作.但我可以修改该文件以向其添加兼容性属性吗?

有没有办法在项目中创建清单文件然后构建它?或者我可以从"属性"对话框(清单工具)本身设置兼容性属性吗?

c++ manifest visual-studio-2010

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

将单个值转换为具有单个元素的数组的简洁方法是什么?

我正在调用一个方法,它接受一个表示要删除的记录ID的整数数组:

service.Delete(IDArray)
Run Code Online (Sandbox Code Playgroud)

但是我只想删除一条记录,所以我只有一个值.显然我可以这样做:

Dim IDArray(0) as Integer
IDArray(0) = ID
service.Delete(IDArray)
Run Code Online (Sandbox Code Playgroud)

然而,它看起来非常kludgy.有一种巧妙的方法可以在一行中使用某种聪明的数组构造语法吗?

vb.net arrays

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

是什么导致'CA2202:不要多次丢弃对象'在这段代码中,我该如何重构?

我有下面的函数,用于序列化对象而不添加XML声明.我刚刚打开了包含Visual Studio 2012的项目,而Code Analysis正在提出'CA2202:不要多次丢弃对象'警告.

现在在其他情况下,我通过删除[对象]来修复此警告.不需要关闭.但在这种情况下,我无法看到需要更改的内容,并且在准确时对警告帮助并不完全正确有关如何引起或如何解决它的信息.

究竟是什么导致警告显示,我如何重构以避免它?

''' <summary>
''' Serialize an object without adding the XML declaration, etc.
''' </summary>
''' <param name="target"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function SerializeElementToText(Of T As New)(target As T) As String
    Dim serializer As New XmlSerializer(GetType(T))
    'Need to serialize without namespaces to keep it clean and tidy
    Dim emptyNS As New XmlSerializerNamespaces({XmlQualifiedName.Empty})
    'Need to remove xml declaration as we will use this as part of a larger xml file …
Run Code Online (Sandbox Code Playgroud)

vb.net code-analysis visual-studio

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

混合服务和项目参考

我有一个有三层的解决方案:常见,数据和业务

公共图层定义了其他图层引用和使用的对象.数据层包含数据访问代码,业务层包含业务逻辑.每个图层包含多个项目.

数据和业务层公开WCF服务,该服务将公共层中的对象作为参数.数据层和业务层都通过项目引用直接引用公共层.

业务层通过服务引用引用数据层.服务引用设置为"在引用的程序集中重用类型",因为在单个业务层项目中有多个对数据层服务的引用,并且每个数据层服务使用公共层中的相同对象.

我正在为业务层编写单元测试,我不断得到这样的错误:Common.ClassName类型的值不能转换为Common.ClassName.类型不匹配可能是由于文件引用与程序集Common的项目引用混合造成的.尝试使用项目引用替换文件引用.

它不是文件引用,它绝对是项目引用.看这里我看到这个项目

若要访问在另一个程序集中定义的类型,Visual Basic编译器必须具有对该程序集的引用.这必须是一个单一的,明确的引用,不会导致项目之间的循环引用.

据我所知,我没有任何循环引用,所以其他问题可能导致此错误消息和/或我如何防止这种浪费我的时间太多,我点击更新服务参考,并希望这次它将工作?

请注意,我无法选择此架构,它是由我们的软件架构师强加的.

环境是带有Visual Studio 2012的Windows 8.

vb.net wcf reference visual-studio

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

Timer事件可以体验重入吗?

我正在研究一些可怕的遗留代码,它有一个Timer事件,其中包含一些包含DoEvents调用的冗长代码.简化版看起来像这样:

   Private Sub tmrProcess_Timer()
      'Run some slow processing code here
      DoEvents
      'More slow code here
      DoEvents
      'Lots more slow code and the occasional DoEvents here
      If booComplete Then
         tmrProcess.Enabled = False
      End If
   End Sub
Run Code Online (Sandbox Code Playgroud)

计时器的间隔设置为250,慢速代码可能需要30秒左右才能完成.请注意,表单上有一个按钮,在单击时设置booComplete = True.

鉴于VB6是单线程的并且定时器消息是低优先级的,在DoEvents调用期间可以重新进入Timer事件,或者如果Timer事件当前正在执行,VB6运行时是否会执行Timer事件?

该参考文献有一些相关信息.特别是它声明WM_PAINT消息被组合成单个消息,但没有提到WM_TIMER消息是否被组合.

vb6 timer message-queue

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

在运行时以编程方式创建 sql server 数据库

我正在创建一个使用 sql server 2008 数据库的 vb .net winform 项目。我的项目或多或少已经完成,但我想稍微调整一下。其中一项调整如下。我已经在 sql server 2008 中创建了数据库,但我想知道如何在 vb .net 项目中以编程方式创建数据库。我已经在互联网上搜索过这个问题,但对我来说没有什么足够清楚。我是在打开的表单中创建数据库还是在单独的类中创建它并在我使用数据库的其他表单中调用它?对此事的任何帮助将不胜感激。

vb.net sql-server visual-studio-2010 sql-server-2008 visual-studio-2013

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

防止提交按钮出现在“新行”上

我有一组数据显示在表格的行中。每行的末尾是一个单元格,其中包含一组可以在该行上执行的操作(查看、打印、编辑、删除等)

目前,我将这些操作作为简单链接,由控制器作为 GET 请求进行处理,但是我需要将它们更改为 POST 请求以满足最佳实践。

我的视图生成的当前 HTML 是这样的(为了清晰起见,缩短了):

<table class="table table-hover">
<tr class="row">
    <th>Date</th>
    <th>Actions</th>
</tr>
<tr class="row">
    <td>03/10/2014</td>
    <td>
    <a href="/Grid/Details?mainid=123">Details</a> | 
    <a href="/Grid/Print?mainid=123">View</a> | 
    <a href="/Grid/Delete?mainid=123">Delete</a>
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

当我用表单、隐藏字段和按钮替换删除链接时,无论页面宽度如何,按钮都会放置在“新行”上。视图使用以下代码:

@using (Html.BeginForm("Delete", "Grid"))
{
@Html.Hidden("MainID", Model.MainID)
<button type="submit" class="btn-link" style="border-width: 0px; padding: 0px;">Delete</button>
}
Run Code Online (Sandbox Code Playgroud)

生成以下 HTML:

<a href="/Grid/Details?mainid=123">Details</a> | 
<a href="/Grid/Print?mainid=123">View</a> | 
<form action="/Grid/Delete" method="post">
<input id="MainID" name="MainID" type="hidden" value="123" />
<button type="submit" class="btn-link" style="border-width: 0px; padding: 0px;">Delete</button>
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

新行上的 Bootstrap 按钮

我尝试用 a 包裹表格,<div class="form-group">但这没有什么区别。有没有办法使链接样式按钮与其余链接保持在同一“行”上?

asp.net-mvc twitter-bootstrap asp.net-mvc-5 twitter-bootstrap-3

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