小编Bas*_*scy的帖子

Subversion开关:如何查看哪个分支是最新的?

我们正在尝试使用Subversion作为我们当前的Starteam 2005 SCM的可能替代品(因此我们的SVN知识目前是有限的:-)).

我一直在尝试使用switch命令(使用TortoiseSVN客户端)并且感到惊讶的是,在我将本地trunk文件夹切换到某个分支后,无法看到我切换到哪个分支.或者至少我找不到确定方法的方法.

通过将本地trunk文件夹切换到分支,我在这里做错了吗?如何查看当前本地trunk文件夹所指的分支?

svn tortoisesvn

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

NOT版本化.dproj的优点

我在一篇关于Version Insight(http://www.delphifeeds.com/go/s/77066)的博客中读到了(其中包括)JCL没有版本控制下的.dproj文件,我想知道它的优点是什么那会是.

特别是因为我和我的同事开发人员经常通过使用我们自己喜欢的调试设置检查项目文件而互相"错误"(他喜欢优化,我希望它关闭).而且由于Delphi 2007的常规问题,dproj文件被各种错误的依赖项搞砸了.版本控制无论如何都不能帮助这些东西吗?

我们目前正在使用Starteam作为我们的VCS.

delphi version-control starteam delphi-2007

10
推荐指数
2
解决办法
1514
查看次数

如何委托实施班

我有一个抽象基类Node,它是从抽象Interface类派生的IObservable。有几个实现抽象的类IObservableSingleObservableMultiObservable

我想创建一个ObservableNode从基Node类派生的类,并在其声明中指定用于IObservable接口实现的类。

我已经using ...IObservable实现类中的每个方法添加了每个纯虚方法的语句,但仍然收到错误消息,说这ObservableNode是一个抽象类,缺少的实现notifyObservers(IObject*)

如果将参数添加IObject*using语句中,则会得到“期望的';'” 在'('令牌“错误之前

我该如何解决?

class IObservable {
  public:
    virtual ~IObservable() {};
    virtual void notifyObservers(IObject*) = 0;
};
class SingleObservable: public IObservable {
  public:
    virtual ~SingleObservable() {};
    void notifyObservers(IObject*) override { 
      //some implementaiton
    };
};
class MultiObservable: public IObservable {
  public:
    virtual ~MultiObservable() {};
    void notifyObservers(IObject*) override { 
      //some other implementaiton …
Run Code Online (Sandbox Code Playgroud)

c++

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

如何影响URL访问已注册的Delphi WebService

我们用Delphi XE2编写了一个webservice dll,它在我们的IIS7服务器上运行,可以通过URL访问http://server/webservice.dll/soap

为了能够调试服务,我创建了一个webservice.exe项目,该项目可以在Delphi的WebAppDebugger中运行.现在的问题是,使用url http://localhost/webservice.webservice/soap可以访问在调试器中运行的webservice

我们的客户端应用程序的url"webservice.dll/soap"的最后一部分是硬编码的(安全原因)所以我无法在使用我们的客户端应用程序进行测试时更改它,服务器地址部分" http:// server / "是可配置的客户端.

所以,我的问题:如何在我的webappdebugger中注册调试服务以使用像我的生产dll这样的URL?

delphi soap delphi-xe2

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

你可以覆盖一个类构造函数并使用inherited吗?

当您在基类中定义类构造函数(即设置一些静态类变量)时,是否可以在派生类中重写此类构造函数,并从其层次结构父级调用构造函数并继承

例:

TBaseclass = class(TObject)
public
   class constructor ClassCreate; virtual;
end;

TOtherClass = class(TBaseClass)
public
  class constructor ClassCreate; override;
end;

**implementation**

class constructor TBaseClass.ClassCreate;
begin
  //do some baseclass stuff
end;

class constructor TotherClass.ClassCreate;
begin
  inherited;
  //do some other stuff
end;
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe2

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

如何在Observer中处理具有不同状态值类型的Observable

(首先是上下文和问题,帖子底部的骨架代码)

我们正在创建和实现一个C++框架,以便在Arduino等环境中使用.

为此,我想使用Observer模式,其中任何对传感器(Observables)的状态更改感兴趣的组件都可以自己注册,并且Observable会通过调用notification()Observer 的方法将其自身作为参数来通知这些更改.

一个观察者可以观察到多个Observable,反之亦然.

问题在于Observer需要提取Observable的当前状态并对其执行某些操作,并且此当前状态可以采用所有形式和大小,具体取决于Observable的特定传感器.

它当然可以是序数值,它们是有限的并且可以被编码出来,就像我在下面的代码中使用该方法所做的那样,getValueasInt()但它也可以是传感器特定的结构,即对于RealTimeClock,它提供日期和时间的结构值.结构当然在编译时定义,并针对特定传感器进行修复.

我的问题:什么是最优雅,未来修改的解决方案或模式?

编辑:请注意,由于Arduino限制,因此无法进行dynamic_cast <>构造


我创建了以下类层次结构(框架代码):

class SenseNode
{
public:
  SenseNode() {};
  SenseNode(uint8_t aNodeId): id(aNodeId) {}
  virtual ~SenseNode() {}

  uint8_t getId() { return id; };
private:
  uint8_t id = 0;
};

class SenseStateNode : virtual public SenseNode
{
public:
  SenseStateNode(uint8_t aNodeId) : SenseNode(aNodeId) {}
  virtual ~SenseStateNode() {}

  /** Return current node state interpreted as an integer. */
  virtual int getValueAsInt();
};

class SenseObservable: public SenseStateNode
{
public:
  SenseObservable(uint8_t …
Run Code Online (Sandbox Code Playgroud)

c++ design-patterns arduino observable

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

如何在TList中存储动态数组?

我需要存储未知数量的组.每个组都有未知数量的元素/项目.这是我的'小组':

 TGroup= array of Integer;     <------ dynamic array (as you can see) :)
Run Code Online (Sandbox Code Playgroud)

我想用TList来保持我的团队.我的想法是,我可能希望稍后访问这些组并向其添加更多项目.

我有这个代码,但我不能让它工作:

TYPE
   TGroup= array of Integer;                              // Each group has x items (x can be from 1 to 10000)


procedure TForm1.FormCreate(Sender: TObject);
VAR CurGroup: TGroup;
    grp, item: Integer;
    Groups: TList;                                        // can contain up to 1 million groups
begin
 Groups:= TList.Create;

 { Init }
 for grp:= 1 to 4  DO                                     // Put a dummy item in TList
  begin
   SetLength(CurGroup, 1);                                // Create new group
   Groups.Add(@CurGroup);                                 // …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7

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

XML 数据绑定向导和使用多个命名空间

我正在尝试使用 Delphi Seattle 中的 XML 数据绑定向导来为给定的一组 XSD 文件生成接口。我知道在 XML 向导中使用多个命名空间存在问题,但我无法让“自己理解确切的问题/解决方案......”

在向您提供广泛的详细信息之前,简而言之,我的问题是:如何更改生成的代码以使其解释生成的 XML 中与 XSD 定义中不同的命名空间前缀?

生成代码的XSD如下

<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="application/registration/2014/04" elementFormDefault="qualified"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:rmrds="datamodel/canonical/datastructures/2014/01/">

    <import schemaLocation="CanonicalDataModel/CanonicalDataModel_DataStructures.xsd" namespace="datamodel/canonical/datastructures/2014/01/">
    </import>

    <element name="ApplicationInstanceRegistrationResponse">
        <complexType>
            <sequence>
                <element name="registrationResponse" type="rmrds:AppInstanceRegistrationType" />
            </sequence>
        </complexType>
    </element>
</schema>
Run Code Online (Sandbox Code Playgroud)

此 XSD 引用具有以下内容的数据结构命名空间:

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="datamodel/canonical/datastructures/2014/01/"
    xmlns:rmrds="datamodel/canonical/datastructures/2014/01/" elementFormDefault="qualified"
    xmlns:rmrbt="datamodel/canonical/basetypes/2014/01/" xmlns:rmrst="datamodel/canonical/simpletypes/2014/01/">

    <import schemaLocation="CanonicalDataModel_BaseTypes.xsd" namespace="datamodel/canonical/basetypes/2014/01/" />
    <import schemaLocation="CanonicalDataModel_SimpleTypes.xsd" namespace="datamodel/canonical/simpletypes/2014/01/" />

    <complexType name="AppInstanceRegistrationType">
        <sequence>
            <element name="key" type="string" />
            <element name="secret" type="string" />
        </sequence>
    </complexType>
</schema>
Run Code Online (Sandbox Code Playgroud)

注意:此 XSD 引用了其他 XSD,例如basetypes …

xml delphi xsd xml-parsing

6
推荐指数
0
解决办法
1278
查看次数

在TQuery结果集中查找记录的最快方法

我想知道最好的(最快的)读取方式是在Tquery SQL语句的结果集中查找记录。

到目前为止,我一直在使用TQuery.Locate,如果我是对的,那是唯一可用于在结果集中搜索的语句。那么我们如何优化呢?

我有一些想法,但还没有时间在大型数据集上进行比较:

假设我们有一个包含以下字段的表:

Create Table aTable (
 ID int, 
 Name1 varchar(50), 
 Name2 varchar(50));
Run Code Online (Sandbox Code Playgroud)

和以下查询:

SELECT ID, Name1, Name2 from aTable
Run Code Online (Sandbox Code Playgroud)

我们想通过记录的ID在结果集中找到记录

  • 如果aTable在ID上有索引,定位会更快吗?
  • 如果在SQL语句中添加“按ID排序”,定位会更快吗?

有什么想法吗?

[编辑]澄清此用法:查询由Reportbuilder数据视图执行,然后通过数据管道(即TQuery.Dataset)使其可用。在自定义报告中,我需要根据一些更高级别的ID来传递管道。因此,不使用查询不适用于此处。我只是想知道我上面的任何建议是否可以加快速度。

delphi reportbuilder nexusdb

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

从私人 github 存储库下载已发布的资产

我正在尝试从私有存储库中的版本下载单个添加的资产,但我得到的只是 404 响应。资产的下载网址是https://github.com/<user>/<repo>/releases/download/20211022/file.json

我尝试了几种不同的方法来指定用户名和私有访问令牌,但都给出了相同的结果。当我使用访问令牌访问 api.github.com 时,它似乎可以工作。

我在curl中尝试过以下格式

curl -i -u <user>:<token> <url>
curl -i "https://<user>:<token>@github.com/ ...."
curl -i -H "Authorization: token <token>" <url>
Run Code Online (Sandbox Code Playgroud)

可以从发行版下载源代码 (zip),但这有一个不同的 url:https://github.com/<user>/<repo>/archive/refs/tags/20211022.zip

我究竟做错了什么?

github github-api

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