偶尔我需要一个GUI来设置数值范围,但到目前为止,我从来没有真正找到任何组件可以很好地完成它.
我尝试过以下方法:
2 TTrackbars:1表示最小值,1表示最大值
2 TTackbars:1表示分钟,1表示范围
2 TSpinEdit控件手动键入数字
1个TTrackbar控制,带一个小按钮,可在最小模式和最大模式之间切换.在min-mode中我设置了selStart,在max-mode中我设置了selEnd(将ShowSelRange设置为true).
大多数选项占用的屏幕比我想象的要多,而且它们不直观.
理想情况下,我喜欢像Sony ACID中的滚动条一样的东西.您可以单击并拖动3个不同的点到最小值,最大值或两者:

是否有可用于设置范围的免费组件,或者可以通过创造性地使用开箱即用的VCL组件来完成类似的操作?
我修改了TMkRangeSlider以满足我的需求.它现在就像一个魅力.我已将修改后的组件和演示发送给原作者.

我目前正在为一些Delphi函数创建soap包装器,以便我们可以轻松地从PHP,C#和Delphi中使用它们.
我想知道暴露集合的最佳方式是什么.
type
TCountry = (countryUnknown,countryNL,countryD,countryB,countryS,countryFIN,countryF,countryE,countryP,countryPl,countryL);
TCountrySet = set of TCountry;
function GetValidCountrySet(const LicensePlate:string; const PossibleCountriesSet:TCountrySet):TCountrySet;
Run Code Online (Sandbox Code Playgroud)
我正在为肥皂服务器包装它:
type
TCountryArray = array of TCountry;
function TVehicleInfo.GetValidCountrySet(const LicensePlate:string; const PossibleCountriesSet:TCountryArray):TCountryArray;
Run Code Online (Sandbox Code Playgroud)
它可以工作,但我需要编写很多无用且丑陋的代码来转换集 - >数组和数组 - >集.
是否有更简单,更优雅或更通用的方法来做到这一点?
当我ha多次从库中导出过程时:
library hahaha;
procedure ha;
begin
Writeln('ha')
end;
exports
ha, ha, ha;
end.
Run Code Online (Sandbox Code Playgroud)
Delphi用三个程序巧妙地创建了一个.dll:

我很惊讶这个模糊的电话GetProcAddress(LoadLibrary('hahaha.dll'), 'ha')不会失败.
这让我想知道:这是否有用?
我希望使用Delphi Debugger调试我没有代码的可执行文件.
WinDBG中和其他调试器在这种情况下,没有选择,因为给定的可执行文件全部调用到我的DLL,为此我做有代码,效果显着.我的最终目标是,在运行的可执行文件的功能中查看堆栈跟踪.
我确实有这些可执行文件的符号信息,所以我希望我可以为此编写自己的.RSM文件.这会有用吗?Delphi调试器会选择它能找到的任何.RSM文件吗?这是否意味着应该省略其他调试信息?
请注意,我需要调试许多可执行文件,并且对于所有这些,我使用适度高级的功能检测算法自己检测其中的符号.所以我的主要问题主要是如何编写.RSM文件.为此,我必须知道.RSM文件格式的结构.是否有可用的文档或示例代码向我展示如何创建这样的文件?
任何帮助表示赞赏!
PS:你可能想知道我为什么这么做:这都与Dxbx有关- 一个开源的Xbox1模拟器.有关详细信息,请参阅sourceforce 欢迎新会员!
当输出重定向到文件时,我有一个控制台应用程序崩溃,出现I/O错误6.它可能与控制台应用程序更改文本颜色这一事实有关,这在文件中没有多大意义.
c:\dir\app.exec:\dir\app.exe >out.txt当我>out.txt在IDE(run\parameters\parameters\)中>out.txt作为参数提供时,我只是作为参数获取.
如何使用重定向到文件而不是控制台的stdout来调试应用程序?
我有一个具有指定结构的文本文件,即(对于每一行):char,space,char,space,double value,endline.例如
q w 1.23
e r 4.56
t y 7.89
Run Code Online (Sandbox Code Playgroud)
在Free Pascal中"提取"这些值的正确方法是什么?
Openlayers 3 中有没有办法获取附加到特定 html 元素的地图?
就像是:
var map = new ol.Map({
view: new ol.View({
center: [0, 0],
zoom: 1
}),
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'osm'})
})
],
target: 'map'
});
//Later on, in a different file
var myMap = $("#map").ol.Map()
Run Code Online (Sandbox Code Playgroud) 当我从OpenLayers 2.12切换到2.13.1时,所有Google Maps图层都停止工作.当我使用图层切换器时,地图区域变为白色.
我在浏览器的开发控制台中看不到任何错误消息,并且所有文件都已成功加载.
我正在创建这样的图层:
var layerGoogleMapsNormal = new OpenLayers.Layer.Google("Google Normal" , { type : google.maps.MapTypeId.ROADMAP, sphericalMercator : true });
var layerGoogleMapsPhysical = new OpenLayers.Layer.Google("Google Physical" , { type : google.maps.MapTypeId.TERRAIN, sphericalMercator : true });
Run Code Online (Sandbox Code Playgroud)
其他层(OSM,WMS)工作正常.
在我写这篇文章时,我发现OpenLayers的例子也不能正常工作.
http://dev.openlayers.org/examples/google.html
可能是谷歌做出了重大改变吗?有没有其他人有同样的问题,有没有人知道解决方案?
备注:我看过OpenLayers3,但它的API非常不同,我认为我们永远无法将所有代码移植到那里.我们无法说服我们的客户为重写所有的映射内容来使用OL3付费,所以我想这个项目永远停留在2.x分支......
我正在使用TJvPluginManager来构建能够加载.bpl插件的简单应用程序.我在"uIntfs.pas"文件中有常见的接口声明,这是一种SDK;)
问题是,如果我尝试加载多个插件,应用程序会抛出一个错误:
无法加载包'test2'.它 包含单元'uIntfs',它也 包含在'test'包中
很明显BOTH bpls包含该文件,但是我需要让它工作......
请帮忙!
delphi ×6
debugging ×2
openlayers ×2
bpl ×1
coding-style ×1
dll ×1
file ×1
fpc ×1
freepascal ×1
google-maps ×1
javascript ×1
jedi ×1
pascal ×1
pascalcasing ×1
plugins ×1
range ×1
set ×1
soap ×1
stdout ×1