在Wicket Application类中,我在location/about处安装了一个页面
mountBookmarkablePage("about", AboutPage.class);
Run Code Online (Sandbox Code Playgroud)
我验证了about页面是否可用于/ about.然后在需要链接到about页面的页面中,我使用Wicket Link类:
add(new Link("link") {
@Override
public void onClick() {
setResponsePage(AboutPage.class);
}
};
)
Run Code Online (Sandbox Code Playgroud)
链接按预期工作,但当鼠标悬停在链接上时,目标URL显示在浏览器状态栏中
http://localhost:8080/?wicket:interface=:0:linkpage:repeating:1:link::ILinkListener::
Run Code Online (Sandbox Code Playgroud)
我找到的解决方法是使用ExternalLink
new ExternalLink("link", "/about", "about");
Run Code Online (Sandbox Code Playgroud)
这会将目标URL更改为
http://localhost:8080/about
Run Code Online (Sandbox Code Playgroud)
当鼠标悬停在链接上时,它显示在浏览器状态栏中.
有没有办法使用挂载的URL作为Wicket Link类的目标链接,或者有没有办法获取类的挂载位置,以便我可以使用它来构建AboutPage.class的链接URL(而不是在ExternalLink构造函数中对其进行硬编码)?
在错误报告12266的解决方案评论中("套接字连接错误导致资源泄漏"),Robert Ehteshamzadeh写道
不推荐使用TClientSocket.此报告处于打开状态,以便提供建议的解决方法.
这是德尔福6.在以后的版本,Tclientsocket构件实现和TServerSocket尚未安装在默认情况下,工具选项板,但被安装指令提供.
从那以后这个状态是否发生了变化,以便TClientSocket(和TServerSocket)现在再次成为Delphi VCL中的一流成员?我想在一些项目中使用TClientSocket(作为Indy和Synapse之后的另一个TCP/IP库),并且无法在Embarcadero DocWiki中找到官方状态信息.
('弃用'类/方法的官方索引将是有用的).
我需要将一个java应用程序加载到delphi项目.jre,j3d和jdk存在于delphi应用程序文件夹中名为java_files的文件夹中.Java类也存在于同一文件夹中.我需要将这个类加载到delphi应用程序中.我怎么能这样做
[编译:Delphi XE2]
昨天我花了一整天的时间尝试各种方法来完成这个特定的任务,但他们都以相同的结果结束了.
使用TRZCheckGroup和此示例查看已检查的内容等.
procedure TFrmMain.cbOptionsChange(Sender: TObject; Index: Integer; NewState: TCheckBoxState);
var
ItmIndex0, ItmIndex1: Integer;
begin
{ Initialize ItemIndex's }
ItmIndex0 := -1;
ItmIndex1 := -1;
{ Return the position Index of the string's(0 and 1) }
ItmIndex0 := cbOptions.Items.IndexOf('One');
ItmIndex1 := cbOptions.Items.IndexOf('Two');
{ Which CheckBox has been Checked }
cbOptions.ItemChecked[ItmIndex0] := True;
cbOptions.ItemChecked[ItmIndex1] := False;
end;
Run Code Online (Sandbox Code Playgroud)
注意:^这不是我的最终代码只是我如何处理CheckBoxes的一个例子.
像 -
if cbOptions.ItemChecked[ItmIndex0] then
cbOptions.ItemChecked[ItmIndex1] := False
else cbOptions.ItemChecked[ItmIndex1] := True;
Run Code Online (Sandbox Code Playgroud)
他们第一次工作然后它总是评估为真,我理解为什么.当我取消检查第一个CheckBox时,else位才会生效,这显然不是我想要的结果.
似乎事件停止工作,并且由于某种原因,我的一些尝试已经解雇了两次.
关于cbListOptionsChange的NewState Param,这是什么,它能帮助我吗?
任何有关这方面的帮助将非常感激.
谢谢.
if cbOptions.ItemChecked[ItmIndex0] then
cbOptions.ItemChecked[ItmIndex1] …
Run Code Online (Sandbox Code Playgroud) 我有
Type
TProcOfObject = Procedure of Object;
var
MyProc: TProcOfObject;
Run Code Online (Sandbox Code Playgroud)
现在如果我这样做
MyProc := MyObject.MyProc
Run Code Online (Sandbox Code Playgroud)
那么当我调用 MyProc self 将等于 MyObject (我还没有完全理解 self 存储在 MyProc 中的位置)。他们是否可以使用除 MyObject for Self 以外的其他值来调用 myProc ?
Delphi 2009在"搜索用法"对话框中显示一个带有"T"的小图标,而不是普通的IDE应用程序图标(见下图).这个符号是什么意思?
场景:
问题:
所以我可以这样写
procedure TMyForm.OnMyAction(Sender: TObject);
begin
try
// notify Action Manager that the Action is temporarily disabled
SomeGlobalFlag := True;
// disable the action
(Sender as TAction).Enabled := False;
// do the call
ShellExecAndWait( ... );
finally
// enable the action
(Sender as TAction).Enabled := True;
// allow ActionManager to control the action again
SomeGlobalFlag := False;
end;
end;
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法?正如这个问题的标题所说 - 我可以阻止执行外部应用程序的输入吗?
我尝试在idtcpclient中接收文本,但它不起作用.这是我在计时器中使用的代码:
procedure TForm1.Timer2Timer(Sender: TObject);
var
receivedtext:string;
begin
if idtcpclient1.Connected = true then
begin
with idtcpclient1 do
begin
if not IOHandler.InputBufferIsEmpty then
begin
try
receivedtext := IOHandler.ReadLn;
finally
if receivedtext = '' = false then
begin
showmessage(receivedtext);
idtcpclient1.IOHandler.InputBuffer.Clear;
receivedtext := '';
end;
end;
end;
end;
end
else
begin
timer2.Enabled := false;
end;
end;
Run Code Online (Sandbox Code Playgroud)
定时器的间隔为8 ms.计时器在连接时自动启用.但是当我发送内容时,我没有收到消息框或错误.我确信我写的数据是因为当我使用时,tclientsocket
我会收到它.
我做错了什么?
我在Delphi XE6中工作,需要下载php脚本在服务器上生成的xml数据.我确实试过Indy IdHTTP.Get但它没有下载任何东西......当我尝试在浏览器或TWebBrowser中打开相同的链接时它显示生成的xml数据,但是当我尝试用IdHTTP Get直接拉它时,没有下载任何内容,就像没有生成数据一样......
Memo1.Lines.Add := idHTTP.Get(url);
Run Code Online (Sandbox Code Playgroud)
提供空的memo1.
任何提示或示例如何首先在某些服务器上执行php脚本,这将生成数据,并下拉该结果?
我尝试将utf8中的文本转换为windows1251.
这是源文本Ñàíêò-Ïåòåðáóðã这是目标Санкт-Петербург
我测试了很多功能:Utf8ToAnsi,UTF8ToString,Utf8Encode等但是没有得到真正的结果.
需要帮忙.
delphi ×9
indy ×2
vcl ×2
delphi-2009 ×1
delphi-7 ×1
delphi-xe2 ×1
delphi-xe6 ×1
delphi-xe8 ×1
deprecated ×1
hyperlink ×1
icons ×1
java ×1
modal-dialog ×1
refactoring ×1
self ×1
tcpclient ×1
timer ×1
url ×1
wicket ×1
xml ×1