最初的问题首先是如何访问组件,但我设法弄清楚了。我刚刚学习 Delphi,所以我很容易遇到愚蠢而明显的问题。我也正处于这样一个阶段:我实际上并没有写任何有用的东西,而只是乱搞一些随机的东西,看看它是如何工作的,也许还能学到一些东西。
文字墙即将到来,我想解释一下我目前正在探索的内容......
基本上我有一个带有按钮1的form1,按下它会创建一个框架2,该框架2有一个按钮2,按下按钮2会在框架2内创建一个框架3(它是框架3的父级和所有者)。每个框架都有另一个 freeandnil 按钮。按下每个按钮 1/2/3 后,它会被禁用以防止创建多个实例。我最初的问题是,在使用 freeandnil-button 之后,我无法访问前一帧上的按钮(它对于表单工作正常,form1.button1.enabled:=true在框架 2 中工作得很好),该按钮被禁用以重新启用它(frame2.button1.enabled:=true从框架 3 中创建一个访问我认为是违规的)。
假设我以后写一些东西需要这样的交流呢?因此,我向每个框架添加了一个编辑框,另一个框架上有一个按钮来更改编辑框文本,这是我当前的工作解决方案:
procedure TFrame2.Button3Click(Sender: TObject);
var i,z:integer;
begin
for i := 0 to ComponentCount - 1 do
if components[i] is tframe3 then
for z := 0 to (components[i] as tframe3).ComponentCount - 1 do
if (components[i] as tframe3).Components[z] is TEdit then
((components[i] as tframe3).Components[z] as TEdit).Text:='ping';
end;
Run Code Online (Sandbox Code Playgroud)
和
procedure TFrame3.Button3Click(Sender: TObject);
var i:integer;
begin
for i := 0 to parent.ComponentCount-1 do
if parent.components[i] is …Run Code Online (Sandbox Code Playgroud) 我创建了用户上传视频的应用程序,我想从该视频中使用nodejs中的ffmpeg提取50张图像,但在将其上传到特定文件夹后我无法获取该文件。我通过 multer 上传视频,因为它将视频存储在指定的文件夹中,之后我使用读取流读取该视频,但它没有提供有关该特定视频的正确信息
代码:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var path = require('path');
var multer = require('multer');
var cfenv = require('cfenv');
var watson = require('watson-developer-cloud');
var ffmpeg = require('ffmpeg');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({"extended": false}));
app.use(express.static(__dirname + '/public'));
var storage = multer.diskStorage({
destination: function(req, file, callback){
callback(null, './public/class'); // set the destination
},
filename: function(req, file, callback){
callback(null, 199212+ '.avi'); // set the file name and extension
}
});
var upload = multer({storage: storage});
app.upload = …Run Code Online (Sandbox Code Playgroud) 我有一个可视化组件,我是从TFrame构建的(但随后注册到了调色板等); 它工作得很好,我喜欢能够使用IDE构建它.
我现在想要创建一个相关组件的"族",并且这样做,想要创建该组件的超类,然后从那里继承该组件和其他组件.
有很多方法可以做到这一点,我敢肯定,但我发现自己在想:是否有一个工具可以将*.DFM文件(即Forms或TFrames)转换为原始Object Pascal 构造函数代码?想一想用w/b开始w/b视觉形式或TFrame的好处,然后在某些时候从那个继承中断,并用DFM文件替换构造函数来替换流本质.
一如既往,所有的想法/投入都赞赏.
我遇到了一个奇怪的情况,框架拒绝刷新其内容.
我可以理解发生了什么,但解决方案不是来找我.
我有一个页面,有一个框架(Frame1)和几个按钮.当我点击按钮时,页面被加载到框架中.这在大多数情况下都很有效.
Private Sub btnIncidents_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnIncidents.Click
Frame1.Source = New System.Uri("/Incident/Incidents.xaml", UriKind.Relative)
End Sub
Run Code Online (Sandbox Code Playgroud)
但是,我需要选择之前单击的按钮以有效地在Uri上执行刷新.问题是它根本没有做任何事,因为Uri没有改变.这是有道理的,但这不是我想要的,我需要再次调用它.
我的第一个解决方案是引入Frame1.Refresh,它最初的技巧.但是一旦刷新页面,没有任何按钮可以加载不同的页面.
就好像通过调用Frame1.Refresh我打破了Frames导航到其他页面的能力.
我的第二个想法是将Frame源设置为Nothing(Null),然后将源设置为URI,但这也不起作用.即Frame1.Source = Nothing
有没有其他人遇到这个或者可能有一些建议?我只需要刷新/重新加载框架页面而不破坏框架!
什么是最容易编码的技术,可以让我实时访问视频的帧,并允许我修改它们.我知道DirectShow,但它的编程模型似乎相当复杂.是否有一个框架可以使编程这样的帧过滤器更容易?
如何在框架中打开网页?
(我正在使用netbeans和java)
例如,在您可以使用的html页面中
<frame src="http://www.google.com">
Run Code Online (Sandbox Code Playgroud)
它将在框架中显示谷歌.
我不希望它打开浏览器,只是为了在框架内打开.我怎样才能做到这一点?
我是DOM和JavaScript的新手,在尝试从顶层框架或Firebug的上下文中调用框架中定义的函数时遇到了一些问题.
鉴于以下框架集:
<html>
<body>
<frameset cols="*" rows="81,*">
<frame id="topFrame" tabindex="1" name="topFrame" noresize="noresize" scrolling="No" src="hometop.aspx"/>
<frameset border="0" cols="214,*" frameborder="no" framespacing="0">
<frameset border="0" cols="*" frameborder="no" framespacing="0" rows="70,*">
<frame tabindex="-1" id="chatFrame" name="chatFrame" scrolling="No" noresize="noresize" src=""/>
<frame tabindex="-1" id="leftFrame" name="leftFrame" noresize="noresize" src="leftFrame.aspx"/>
</frameset>
<frame tabindex="-1" id="mainFrame" name="mainFrame" src=""/>
</frameset>
<noframes>Your browser does not support frameset.</noframes>
</frameset>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个javascript钩子,它将在首次打开上述文档时调用#leftFrame中定义的javascript函数.我在加载jQuery的Firebug会话中执行此操作.
jQuery("#leftFrame")返回一个框架DOM元素.现在我想在框架的上下文中执行我的函数(openLink,在leftFrame.aspx中的普通旧脚本标记中定义).我的理解是该函数将是leftFrame文档元素下的DOM节点.但是我无法掌握框架的文档.
我试过了:
jQuery("#leftFrame").document
jQuery("#leftFrame").contentDocument
jQuery("#leftFrame").find("html")
Run Code Online (Sandbox Code Playgroud)
另外,在Firebug中检查DOM树时,我无法在任何DOM节点下看到openLink函数,正如我所期望的那样.
谁能帮我吗?
pcpao.org/general.php?strap=152814186280001650
在尝试从该站点获取完整的HTML时,.GetSourceAsync和.ViewSource都只显示'frameset'HTML.使用ShowDevTools选项,完整的HTML数据包含在元素集合和Chrome-devtools的Sources中.
我在网页加载后运行这个,但它应该都在那里,因为它在开发工具中?
从导航网站获取完整的HTML,我缺少什么.我怀疑这与帧有关,但经过一个小时的谷歌搜索和阅读旧消息,我看到这只是切向提到.
的WinForms
package id="cef.redist.x64" version="3.2526.1362" targetFramework="net46"
package id="cef.redist.x86" version="3.2526.1362" targetFramework="net46"
package id="CefSharp.Common" version="47.0.3" targetFramework="net46"
package id="CefSharp.WinForms" version="47.0.3" targetFramework="net46"
Run Code Online (Sandbox Code Playgroud) 我又来了这里.我有这个主要形式:
它只是一个简单的表单,用于理解框架的使用.使用表单顶部的两个按钮,我想打开这两个框架:
帧1
和Frame2
这是代码第一帧的简单代码:
unit AppFrame1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
Vcl.StdCtrls;
type
TFrame1 = class(TFrame)
lblFrame1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.
Run Code Online (Sandbox Code Playgroud)
这是第二帧的代码:
unit AppFrame2;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
Vcl.StdCtrls;
type
TFrame2 = class(TFrame)
lblFrame2: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.
Run Code Online (Sandbox Code Playgroud)
所以在两帧中没有什么特别之处.为了从主窗体打开框架,我创建了一个这样的界面:
unit FramesManager;
interface …Run Code Online (Sandbox Code Playgroud)