如果打开记事本,添加十行并调整编辑器大小仅显示九,拇指轨道(滚动条上的可拖动块)几乎是垂直滚动条的全长.如果添加几千行,则拇指轨道只有几个像素高.
我想在TCustomControl后代复制这个bahaviour,在那里我实现了一个水平滚动条.所以我将WS_HSCROLL添加到我的窗口样式(在CreateParams中)并为WM_HSCROLL实现了一个处理程序.在此过程中,我使用SetScrollRange和SetScrollPos来管理拇指轨道的范围和位置 - 但是小虫子仍然是一个接近完美的方块.
我错过了什么?
我创建了一个非常简单的Delphi 2010 CGI Web服务,并且能够在Delphi 2007上获得完全相同的问题.
我的invokable接口如下所示:
ISimpleTest = interface(IInvokable)
['{4E318A9A-D361-4A18-A963-EE6D7F70E9C5}']
function SayHello(const S: string; N: Integer): string; stdcall;
end;
Run Code Online (Sandbox Code Playgroud)
该功能以类似的简单方式实现:
function TSimpleTest.SayHello(const S: string; N: Integer): string;
begin
Result := 'Hello ' + S + ', all ' + IntToStr(N) + ' of you';
end;
Run Code Online (Sandbox Code Playgroud)
我将生成的SimplecGI.exe复制到运行IIS7的Windows Server 2008服务器上.我创建了我的虚拟文件夹,配置了执行权限,允许未指定的CGI模块,启用了32位应用程序,然后终于能够使用类似这样的URL从浏览器中查看服务信息页面:http:// myserver:8001/SimpleCGI/SimpleCGI.exe
配置步骤与IIS6不同,但两个IIS版本的服务信息页面看起来完全相同.它还具有ISimpleTest的WSDL链接,就像在IIS6上一样.但是在IIS6上,单击此链接(这样的URL:http://myserver/SimpleCGI/SimpleCGI.exe/wsdl/ISimpleTest)会在浏览器中显示预期的WSDL.但是在IIS7中,单击此链接只会再次显示服务信息页面.IWSDLPublish的WSDL链接和WSIL链接(http:// myserver:8001/SimpleCGI/SimpleCGI.exe/inspection.wsil)也是如此.
有人见过这个吗?有人解决过吗?
我在一个存储过程上的性能非常差,它对一些非常小的表进行了超过一百次(!)的更新,并且似乎所有并发用户都在不断地相互阻塞.
程序的完全重写计划在今年晚些时候进行,但与此同时我想看看我们是否可以通过强制每个受影响的表上的行级锁定来缓解这个问题.
在Sybase上,您可以(或者至少可以在2007年左右)使用以下语句强制对表执行行级锁定:
alter table titles lock datarows
Run Code Online (Sandbox Code Playgroud)
在SQL Server上,似乎获得相同效果的唯一方法是在每个更新或插入语句上使用WITH(ROWLOCK).即便如此,它只是一个可以忽略的暗示.
SQL Server中是否有一种方法可以强制(或强烈支持)对给定表的所有更新进行行级锁定?
这是我上一个问题的后续行动.
一旦我解决了引用的问题,我遇到了另一个非常奇怪的问题.基本上,我在表单上的按钮后面有以下内容:
Dim attachmentField As DAO.Field2
attachmentField = Recordset("Att")
Run Code Online (Sandbox Code Playgroud)
我现在已经链接了引用,在第二行放置了一个断点并在Recordset("Att")上添加了一个监视.当执行在断点处停止时,我可以从监视器中看到Recordset("Att")返回Variant/Object/Field2类型的值,并且该字段包含了我期望的内容.
但当我跨过第二行(允许它执行)时,会弹出以下错误:" 对象变量或未设置块变量 "
当然,attachmentField在完成时分配了Nothing.我错过了什么?
我有一个信号和一个插槽应该很好地配合在一起.
class MemberVisitor: public QObject
{
Q_OBJECT
signals:
void processMember(Member* member, bool &breakLoop);
public:
void processList(QList<Member*>* list);
};
Run Code Online (Sandbox Code Playgroud)
随着:
class MemberFinder: public QObject
{
Q_OBJECT
public slots:
void processMember(Member* member, bool &breakLoop);
public:
Member* member();
MemberFinder(QString memID): m_member(0), m_memID(memID) {};
private:
Member* m_member;
QString m_memID;
};
Run Code Online (Sandbox Code Playgroud)
不完全复杂,对吗?但我肯定遗漏了一些东西,因为QT一直给我错误:"Object :: connect:在OperationsOnMembers.cpp中没有这样的信号MemberVisitor :: processMember():29"
这是应该挂起它们的代码:
QObject::connect(visitor, SIGNAL(processMember()), finder, SLOT(processMember()));
Run Code Online (Sandbox Code Playgroud)
我也尝试了所有合理的替代方案,比如在finder上调用函数.但我一直遇到同样的问题.我错过了什么?
新的Android Market(2011年7月的新版本)有一些我非常喜欢的UI模式.他们似乎有一半复制了Windows Phone 7米的瓷砖,也带来了从蜂窝操作栏组件的副本,他们刚刚下,一个非常有吸引力的标签栏.
我知道ActionBarSherlock在复制操作栏方面做得非常完美,但是我希望有人知道标签栏的现成解决方案.复制应该很简单(只有几个文本标签与视图一起向侧面滚动),但我的时间很短,经验有限.
有谁知道这个的好组件或演示?
这是一个相当常见的 UI 模式:包含左侧路径的文本框和右侧的浏览按钮。如果窗口调整大小,按钮将保持在右侧,但文本框会拉伸以显示更多/更少的路径。所以在锚的过去,按钮将锚定在右侧,文本框将同时锚定在左侧和右侧。
试图在 WPF 中复制这一点似乎非常困难。
如果我创建一个新窗口,它默认带有网格布局。我将文本框放在左侧并适当调整大小,然后将按钮放在右侧。文本框的 HorizontalAlignment 是 Stretch,按钮的 HorizontalAlignment 是 Right。
在我看来,这如所描述的那样工作,但在现实生活中,文本框根本不会调整大小,而是尝试将自身居中在窗口中,而按钮则按预期工作。是什么赋予了?
这是我的 XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="241" d:DesignWidth="414" SizeToContent="WidthAndHeight">
<Grid>
<TextBox Height="23" HorizontalAlignment="Stretch" Name="textBox1" VerticalAlignment="Top" Margin="12,11,101,0" />
<Button Content="Button" Height="23" HorizontalAlignment="Right" Margin="0,11,12,0" Name="button1" VerticalAlignment="Top" Width="75" />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud) 我尝试创建一些核心模块,就像在教程中除了一个细节,我想只提供服务.所以我的CoreModule应该像 - 单身服务提供者,因为我不想在AppModule中提供大量服务,就像应用版本<= RC4一样.我试着做那些东西,但它不起作用.我做错了吗?谢谢你的帮助.
import {
ModuleWithProviders, NgModule,
Optional, SkipSelf } from '@angular/core';
import { CommonModule } from '@angular/common';
import { CommunicatePatientListService } from './services/communicate_patients_list.service';
import { HTTPPatientsListService } from './services/http_patients_list.service';
import { SharedService } from './services/shared_service';
@NgModule({
imports: [ CommonModule ],
providers: [
CommunicatePatientListService,
HTTPPatientsListService,
SharedService
],
exports: []
})
export class CoreModule {}
Run Code Online (Sandbox Code Playgroud)
更新2.我尝试了不同的方法来完成提供给我的事情,我发现了一个有趣的时刻.
当我通过标准导入导入COREModule单例服务时,它不起作用,但是当我通过System.js别名导入它时,它现在正在工作.我真的很想知道它是如何工作的.这是代码
CoreModule:
import {
ModuleWithProviders, NgModule,
Optional, SkipSelf } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HeaderModule } from './modules/header/header.module';
import …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,其版本 1.5、build 26 已经上线,并且在应用程序商店中表现良好。现在我将新版本(1.6,build 54)上传到 TestFlight,但任何人都无法使用。
结果我的 1.5,build 26 也仍然列在 TestFlight 上。显然,现在已经没有必要了。我是否可以使该版本过期(并希望我的新版本可用),或者是否也会将其从应用程序商店中删除?
在 SQL Server 中,名称类似于 #temp 的临时表具有本地作用域。如果您在会话中创建它们,会话中的所有内容都可以看到它们,但不能在会话之外看到。如果在存储过程中创建这样的表,则作用域是该过程的本地范围。因此,当 proc 退出时,该表消失了。
我知道的唯一替代方法是使用名称类似于##temp 的表。这些是临时的,但在服务器范围内可见。因此,如果我在会话中创建表,隔壁办公室的 Bob 也会看到它们。
我正在寻找的是中间的某个地方,因此我可以在存储过程中创建表,并且即使在存储过程退出后,该表也可用于我的会话。我能找到的最近的方法是创建只有一个字段的表,然后在存储过程中更改它。不过,这似乎有点混乱。
delphi ×2
sql-server ×2
access-vba ×1
android ×1
angular ×1
c# ×1
c++ ×1
cgi ×1
components ×1
dao ×1
iis ×1
iis-7 ×1
ios ×1
layout ×1
locking ×1
ms-access ×1
performance ×1
qt ×1
qt4 ×1
scroll ×1
scrollbar ×1
soap ×1
sql ×1
t-sql ×1
tabs ×1
temp-tables ×1
testflight ×1
typescript ×1
vba ×1
wpf ×1
xaml ×1