小编tru*_*ker的帖子

Delphi TGridPanel - 动态隐藏一些行

我有一个 16 x 4 的网格面板,如下所示:

在此输入图像描述

有时我想隐藏一些行并将底行向上移动。当我将组件可见属性设置为 false 时,布局不会更新:

在此输入图像描述

尽管如此,行大小类型设置为自动:

在此输入图像描述

当没有任何内容可显示时,为什么组件不将行高设置为零?

delphi layout tgridpanel

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

Qt Creator 忽略断点

我在 Qt 中创建了一个简单的控制台应用程序。这是它的源代码:

在此输入图像描述

当我从主菜单使用功能“调试”->“开始调试”->“开始调试”时,应用程序运行并将消息“Hello world”打印到控制台。但调试器会忽略第 6 行设置的断点(如上面的屏幕截图所示)。

附加信息: QT Creator 版本 - 2.4.1 QT 库版本 - 4.8.1 (但也有 4.7.4 安装在单独的目录中)

项目构建设置如下:

在此输入图像描述

工具 -> 选项中的工具链设置:

在此输入图像描述

GDB 可执行文件位于目录“E:\QtSDK\pythongdb\python_2.7based”中,这一事实强调了我在调试类似的基于 GUI 的 Hello World 程序时没有问题。

GDB设置:

在此输入图像描述

我做错了什么吗?

PS 这是我的编译输出:

在此输入图像描述

这是Makefile.debug的内容:

#################################################### ####################

用于构建的 Makefile:PasswordGuess

由 qmake (2.01a) (Qt 4.8.1) 生成于:ne 28. 4 18:12:57 2013

项目:..\PasswordGuess\PasswordGuess.pro

模板:应用程序

#################################################### #################### # 编译器、工具和选项

CC = gcc
CXX = g++
定义 = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT
CFLAGS = -g -Wall $(DEFINES ) …

debugging breakpoints qt4 qt-creator

5
推荐指数
2
解决办法
4241
查看次数

Firebird数据库升级

我们公司已经在其产品中使用Firebird数据库已有4 - 5年的时间.在此之前,我们一直在使用Interbases数据库.最近有新的要求需要启用unicode字符集(目前我们使用字符集'NONE').在调查问题后,我发现该解决方案需要作为升级ODS(磁盘结构)二进制格式的数据库文件的步骤之一.我已经读过,推荐的解决方案是使用gbak实用程序备份然后恢复数据库.这有一个问题.在Firebird 的原始手册中写道:

应使用旧版本的InterBase或Firebird提供的gbak实用程序进行备份.应该使用较新版本的Firebird中的gbak进行恢复.

这是问题,因为我正在开发的产品正在开发20年,我真的无法说出我们的客户正在使用的所有ODS版本.我是否应该遵循上述说明,这意味着我的升级实用程序应该具有从Interbase 1.0发布到目前为止所有可能的gbak实用程序版本.基于检测到的ODS版本(例如,通过调用作为Firebird安装的一部分提供的命令行实用程序"gstat"),我应该调用正确的gbak.exe文件.这对我来说似乎过于复杂.是不是只能在备份和恢复阶段使用最新的gbak实用程序?我担心的是我在这个过程中犯了一个错误,数据将会丢失.所以我不能仅仅依靠gbak实用程序进行备份,而是手动备份*.gdb文件.

firebird upgrade

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

如何在C++ Builder XE中调试dll?

我的核心项目是标准的Windows应用程序,正在C++ Builder XE下开发.这个项目使用的是在旧版开发环境中编写的dll文件,即C++ Builder 6.应用程序在dll中的某个地方崩溃所以我决定调试dll.我应该设置什么才能看到dll的源代码?我只能看到汇编代码.好像调试器看不到源代码目录.我已将调试符号文件*.tds复制到与*.dll相同的目录中,似乎它什么都没有.

c++ debugging dll c++builder

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

#include <file> #include <file.h> - 有什么区别?

可能重复:
<string>和<string.h>之间的区别?

我的具体示例使用以下子句:

#include <string>
Run Code Online (Sandbox Code Playgroud)

如果我使用以下条款

#include <string.h>
Run Code Online (Sandbox Code Playgroud)

编译器以错误结束

[BCC32错误] utils.cpp(173):E2316'getline'不是'std'的成员

utils.cpp文件中的第173行如下:

while(std::getline(in, line, '\n'))
Run Code Online (Sandbox Code Playgroud)

我认为这两个条款没有区别.现在我很困惑.这两个条款实际上包含哪些文件?可以说,我的C++ Builder安装程序目录为C:\ Program Files\RAD Studio\9.0,包含文件位于子目录C:\ Program Files\RAD Studio\9.0\include中.

c++ include c++builder-xe2

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

声明std :: sort仿函数

这是我的源代码看起来(简化)的方式:

class UncertaintyTest
{
private:
    class SpectralPeak
    {
    };

    std::list<SpectralPeak*> peaks;
};

struct SpectralPeakComparator
{
   bool operator()(const UncertaintyTest::SpectralPeak &a, const UncertaintyTest::SpectralPeak &b)
   {
      return a.TMiddleAvg() < b.TMiddleAvg();
   }
};

void UncertaintyTest::SortSpectralPeaks()
{
   std::sort(peaks.begin(), peaks.end(), SpectralPeakComparator());
}
Run Code Online (Sandbox Code Playgroud)

编译器拒绝编译此源代码,但有以下错误:

 C2676: binary '-' : 'std::_List_iterator<_Mylist>' does not define this operator or a conversion to a type acceptable to the predefined operator   c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm    3868    1   Periodogram
 C2780: 'void std::_Sort(_RanIt,_RanIt,_Diff)' : expects 3 arguments - 4 provided   c:\program files (x86)\microsoft …
Run Code Online (Sandbox Code Playgroud)

c++ stl visual-studio-2012

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