该代码可以正常工作:
procedure TForm2.Timer1Timer(Sender: TObject);
var
Text: string;
begin SetLength (Text,555);
GetWindowText (getforegroundwindow, PChar (Text),555);
Form2.gtListBox1.Items.Add (
IntToStr (getforegroundwindow) + ': ' + Text);
end;
Run Code Online (Sandbox Code Playgroud)
但是当我放
var
Text: string;
Run Code Online (Sandbox Code Playgroud)
从Timer1Timer事件处理程序到单元实现部分或单元var部分中的“文本:字符串”,我得到错误:E2197
根据文档,不能将常量对象作为var参数传递:
当您尝试将常量作为函数或过程的var或out参数发送时,会出现此错误消息。
但是我没有将文本声明为常量,那么为什么会出现此错误?
编辑: @梅森·惠勒:我不明白,为什么这工作:
implementation
{$R *.dfm}
var
char :integer;//first of all why does delphi let me declare variable that is also a type name
procedure TForm2.Button1Click(Sender: TObject);
begin
char:=11;
showmessage(IntToStr(char));
end;
Run Code Online (Sandbox Code Playgroud)
我的第一个代码无法正常工作,因为我将文本声明为字符串,您会说:“编译器可能认为它是对类型的引用,而不是对变量的引用”,为什么编译器不认为它是对类型的引用而不是对变量的引用在这种情况下的变量?我很困惑
Edit2:我现在明白了什么地方出了问题,但仍然有1个困惑,我没有使用with语句,然后为什么delphi会像对待我一样使用:
with
form1 do
text := 'blahblahblah';
Run Code Online (Sandbox Code Playgroud)
这在delphi部分上是错误的,我的意思是delphi不应该让我们这样做text := 'blah',form1.text := …
我一直在阅读线程池.许多站点都说线程池上的默认最大线程数为25(每个处理器).但是我没有修改最大线程,当我这样做时:
Threadpool.GetAvailableThreads(输出WorkThreads,输出compPortThreads);
我得到500,1000.我正在运行双核PC,因此不会超过50.
我的泳池里真的有500,1000吗?
谢谢约翰
大家好,我在做NamedQuery时遇到了一些精确匹配的问题.
我目前正在使用这样的东西:
@NamedQuery(name = MyClass.GET_ENTRY_BY_NAME, query = "select e from Entry e where e.name =:"+ Entry.NAME )
...
Query query = em.createNamedQuery(MyClass.GET_ENTRY_BY_NAME);
query.setParameter(Entry.NAME, myEntry.getName());
Run Code Online (Sandbox Code Playgroud)
它适用于大多数情况,但是我注意到,如果用户在末尾传递带有空格的文件名,则namedQuery会忽略该字符.例如:
Query query = em.createNamedQuery(MyClass.GET_ENTRY_BY_NAME);
query.setParameter(Entry.NAME, myEntry.getName()+ " ");
Run Code Online (Sandbox Code Playgroud)
将返回与之前的查询相同的结果.绕过我的"有效条目"验证.换句话说,我希望查询根本不返回任何条目,稍后再处理错误.
我能想到的一个解决方法是在namedQuery中放置我的参数的单引号,如下所示:
@NamedQuery(name = MyClass.GET_ENTRY_BY_NAME, query = "select e from entry e where e.name =':"+ Entry.NAME "'")
Run Code Online (Sandbox Code Playgroud)
但是,如果String中包含单引号,它将丢弃我的代码...
有什么想法吗?
也许我今天早上需要更多咖啡,但这里有......
我有一个非常简单的库存系统.现在我有两个表:项目和库存.
项目
编号
标题
YearReleased
库存
标识
ItemId(项目的外键)
数量
QuantityOnHand
每个项目都有一个库存,每个库存属于一个项目.两者之间的关系是一对一的.但是,当我计算出这个时,基于我的设置到目前为止的关系是一对多的,因为我对Inventory有自动递增的ID.
现在,我可以通过消除Inventory表中的自动递增id来实现这一对一,但这让我觉得很脏.我总是使用内部id作为主键.
我看到几个选项:
1.)删除库存中的自动递增ID字段并以肮脏的感觉生活.
2.)保持表格原样.
3.)将项目和库存合并到一个表中:ItemsInventory.
4.)还有别的吗?
我注意到当前的自动模式alist条目都以单引号结束,例如
("\\.java\\'" . java-mode)
Run Code Online (Sandbox Code Playgroud)
单引号的目的是什么?我本以期待看到
("\\.java$" . java-mode)
Run Code Online (Sandbox Code Playgroud)
我问的原因是我试图获取名称与regexp匹配的文件
^twiki\.corp.*
Run Code Online (Sandbox Code Playgroud)
以组织模式打开.我试过以下没有成功:
(add-to-list 'auto-mode-alist '("^twiki\\.corp" . org-mode))
(add-to-list 'auto-mode-alist '("\\'twiki\\.corp" . org-mode))
Run Code Online (Sandbox Code Playgroud)
以下作品:
(add-to-list 'auto-mode-alist '("twiki\\.corp" . org-mode))
Run Code Online (Sandbox Code Playgroud)
但是不是我想要的,因为嵌入了twiki.corp的文件名将在org-mode中打开.
我想通过SQL Server管理工作室从文件(任务 - >恢复 - >数据库;从设备中选择并选择文件后)恢复数据库.
之后,我收到此错误:
在'E:\ Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\XXXXXX.mdf'上尝试'RestoreContainer :: ValidateTargetForCreation'时,操作系统返回错误'5(访问被拒绝.)'.消息3156,级别16,状态8,服务器XXXX,第2行
我该如何解决这个问题?这是安全错误吗?
我将发布我目前拥有的源代码,然后解释我的问题。
这是我希望发生转换的窗口
<Window x:Class="MyApp.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MyApp" Height="600" Width="800">
<StackPanel>
<Button Content="View1" Command="{Binding View1Command}"/>
<Button COntent="View2" Command="{Binding View2Command}"/>
<ContentControl Content="{Binding MyContent}"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
这是关联的视图模型
public class MainViewModel
{
public RelayCommand View1Command{ get; private set;}
public RelayCommand View2Command{ get; private set;}
//INotifyPropertyChanged is implemented of course
public ViewModelBase MyContent { get; set;}
public MainViewModel()
{
View1Command = new RelayCommand(() => { MyContent = new ViewModel1();});
View2Command = new RelayCommand(() => { MyContent = new ViewModel2();});
}
}
Run Code Online (Sandbox Code Playgroud)
在 app.xaml 中,我使用数据模板将 ViewModel1 与 …
我有一个存储在"selectedContents"中的DocumentFragment,我试图在jQuery的帮助下找到它中的"span"元素.它有两个子节点,第一个是文本节点,第二个是跨度.
当我尝试时$(selectedContents.childNodes).find('span'),它返回一个空集!
但是,当我打印时,"$(selectedContents.childNodes)[1].localName"它说"跨度"!
我的发现有什么不对吗?请帮忙.
谢谢
Srikanth
如何更改~/.vimrc以使我的代码中的注释为斜体?
在我的~/.vimrc档案中,我有:
highlight Comment ctermfg=blue
Run Code Online (Sandbox Code Playgroud)
这使评论变成蓝色.我需要做些什么才能使它们变成斜体?
Haskell存储库中有大量独特的单词集合,(非常轻微的夸张).无论如何,今天的术语是孤立的原始.什么是隔离原语?它与非隔离原语相比如何?不幸的是,我没有足够的背景来了解Haskell的大部分说法,谷歌对此并没有多大帮助.
我熟悉的命名法将原语定义为没有超类型的类型,我从未在任何地方看到过isolate作为前缀.
sql-server ×2
animation ×1
c# ×1
comments ×1
database ×1
definition ×1
delphi ×1
elisp ×1
emacs ×1
find ×1
haskell ×1
highlight ×1
italics ×1
java ×1
jpa ×1
jpql ×1
jquery ×1
mvvm ×1
mvvm-light ×1
mysql ×1
named-query ×1
primitive ×1
sql ×1
ssms ×1
threadpool ×1
transition ×1
vim ×1
wpf ×1