小编bla*_*sun的帖子

为Delphi应用程序选择数据库和许可

我们有Delphi XE2.我们正在为我们的应用程序寻找数据库.我们尝试过Absolute Database,它支持我们需要的大多数SQL命令.我看到大多数Delphi用户选择Firebird但似乎很难使用.我对数据库和许可证非常困惑.这是我的问题:

  1. 当我们选择数据库时,让我们说绝对数据库,Firebird,MySql嵌入等等,如果我们有例如3.000客户,我们还需要向数据库开发人员支付费用吗?还是一次性费用?我很困惑,因为他们说我们购买时,我们可以在我们的建筑物内使用它(http://www.componentace.com/order/licenses.php).但是当我们发布我们的软件时,我们的客户当然需要使用相同的数据库.

  2. Absolute DB易于安装并支持大多数SQL查询.Firebird不支持大多数SQL查询.它是否正确?

  3. 当我们尝试使用Firebird时,我们使用FlameRobin来设计数据库.但是当我们尝试使用IB组件进行连接时,它会说"无法连接数据库".

非常感谢你...

database delphi firebird embedded-database firebird-embedded

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

是否可以使用 LSP/SPI 拦截 dns 查询?

我写了我自己的 LSP,它工作正常。但是,我无法捕获 dns 查询。例如,没有像 WSPGetHostByName 或 WSPGetAddrInfo 这样的函数。

我的 lsp 也支持 UDP 协议,但它不起作用。如果我从控制台 (cmd.exe) 运行 nslookup,它似乎可以工作,但我无法捕获 gethostbyname。有谁知道这是怎么做到的吗?我不认为编写 NSP(名称服务提供商)是一种解决方案。但我可能错了。

谢谢

dns winsock winsock-lsp

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

GetSystemMetrics和TScreen返回错误的值

我正在使用Delphi XE5.我想我的笔记本电脑有问题.过了一会儿,它会向Screen.Width和GetSystemMetrics(SM_CXSCREEN)返回错误的值(高度相同).我的操作系统是Windows 7 64位.

我的笔记本电脑的屏幕分辨率是1920x1080(1080p),但我的应用程序说它是1280x720(720p).我不认为有一个DPI问题,因为当我重新启动并在一段时间后启动时问题就出现了.兼容性设置也关闭.以前有人有这个问题吗?或者您知道解决方案吗?我还在下面添加了清单但没有帮助

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <asmv3:windowsSettings
         xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>true</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
</assembly>
Run Code Online (Sandbox Code Playgroud)

这是我如何编译它

1 24 "mf.txt"
Run Code Online (Sandbox Code Playgroud)

编辑:

好吧,我写了这个功能,这是修复它的棘手方法.我更喜欢Screen.Width返回正确的值:

function ScreenSize(var x, y: integer): boolean;
const
  ENUM_CURRENT_SETTINGS =  -1;
  ENUM_REGISTRY_SETTINGS = -2;
var
  dm: TDevMode;
begin
  Result := False;
  x := 0;
  y := 0;
  ZeroMemory(@dm, sizeof(dm));
  if EnumDisplaySettings(nil, Cardinal(ENUM_CURRENT_SETTINGS), dm) then
  begin
    Result := True;
    x := dm.dmPelsWidth;
    y := dm.dmPelsHeight;
  end else
  begin
    x := GetSystemMetrics(SM_CXSCREEN);
    y := GetSystemMetrics(SM_CYSCREEN);
  end;
end; …
Run Code Online (Sandbox Code Playgroud)

delphi resolution getsystemmetrics

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

Delphi XE5和FormatSettings

我正在更改我的应用程序中的FormatSettings.假设计算机的本地货币设置为$,我想在我的应用程序中使用€.我可以使用以下代码更改它.

FormatSettings.CurrencyString := '€';
Run Code Online (Sandbox Code Playgroud)

但是,如果我转到区域设置并在那里进行更改,我的FormatSettings将恢复原状.我相信应该有一种方法来保证它的安全.你知道任何解决方案吗?

delphi

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

递增值并将其设置为on to onClick事件

我面临一个非常奇怪的问题,导致感觉像"无论你怎么样"

首先这里是代码:

renderImages = () => {
    let i = 0;
    const arr = [
        "https://truffle-assets.imgix.net/pxqrocxwsjcc_6OcJeUMaWIYOmKgsK6IwWc_galaxy-cupcakes_squareThumbnail_en-US.jpeg",
        "https://sallysbakingaddiction.com/wp-content/uploads/2017/06/moist-chocolate-cupcakes-5.jpg",
        "http://is4.mzstatic.com/image/thumb/Purple127/v4/74/47/31/7447317e-9844-3ee0-d189-661a55c94abe/source/1200x630bb.jpg",
        "https://i.pinimg.com/736x/55/03/94/550394c428e268868aa73e509302b84c--neopolitan-cupcakes-ice-cream-cupcakes.jpg"
    ];

    return arr.map((item) => {
        i++;
        return(
            <div>
                <img src={item} onClick={() => alert(i)} alt={i} />
            </div>
        );
    })
};
Run Code Online (Sandbox Code Playgroud)

现在当我点击一个图像时,它总是显示4.第一个图像显示4,最后一个图像显示4.所有这些都提醒4.但是,他们的alt标签似乎是正确的.我不认为我做错了什么但我是:)

我的反应版本是16.1.1

所以任何人都知道我在这里做错了什么?我不认为这是一个绑定问题,但谁知道.

reactjs

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

Delphi XE2/XE3和Windows 8平板电脑/手机

是否可以使用Delphi XE2或XE3为Windows 8平板电脑和手机开发应用程序?我认为XE3 ust支持UI.我不确定我们是否可以使用Delphi为Win8平板电脑创建应用程序.我已经阅读过我们需要在Visual Studio中使用Prism XE3的地方.我不想因此而购买/升级到XE3.我相信即使使用XE2我们也可以开发但不确定.

另外,有人知道微软是否接受用Delphi编写的appstore应用程序?

谢谢.

-K

delphi app-store delphi-xe2 windows-8 delphi-xe3

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