未找到

未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何自定义Web TWAIN对象
by Harriet666 keys 分享 1511773524429
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
本文教你在Dynamic Web TWAIN中如何自定义Web TWAIN对象,欢迎收藏。
 
Dynamic Web TWAIN最新版免费下载>>>

命名Dynamic Web TWAIN对象

默认情况下,(第一个)Dynamic Web TWAIN对象会被命名为“ DWObject ”。您应该在使用任何其他Dynamic Web TWAIN属性或方法之前设置它。内置函数Dynamsoft_OnReady是一个有效方法。例如,在我们的Hello World示例中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<title data-filtered="filtered">Hello World</title>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.initiate.js" data-filtered="filtered"> </script>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.config.js" data-filtered="filtered"> </script>
 
 
<input type="button" value="Scan" onclick="AcquireImage();">
<div id="dwtcontrolContainer"> </div>
<script type="text/javascript" data-filtered="filtered">
        var DWObject;
        function Dynamsoft_OnReady(){
            DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
        }
        function AcquireImage(){
            if(DWObject) {
                DWObject.IfDisableSourceAfterAcquire = true;
                DWObject.SelectSource();
                DWObject.OpenSource();
                DWObject.AcquireImage();
            }
        }
    </script>
ID为“dwtcontrolContainer”的div是Dynamic Web TWAIN的占位符。它的名称和大小可以在在文件dynamsoft.webtwain.config.js 中定义,如下所示。您可以根据需要进行修改。
1
Dynamsoft.WebTwainEnv.Containers = [{ContainerId:'dwtcontrolContainer',Width:270,Height:350}];
 

更改查看器的大小

您可以简单地在dynamsoft.webtwain.config.js中更改内置查看器的大小。这里可以使用数字或百分比。例如
1
Dynamsoft.WebTwainEnv.Containers = [{ContainerId:'dwtcontrolContainer',Width: '50%',Height:350}];
 

更改安装提示的样式

如果未安装Dynamic Web TWAIN,则会看到提示用户安装SDK的内置界面。
image015
 
在大多数情况下,您可能需要修改“Dynamsoft标志”。“标志”是在文件\Resources\reference\hint.css中定义的:
1
2
3
4
5
6
.DYNLogo
    {
    background:url(logo.gif) left top no-repeat;
    width:159px;
    height:39px;
    }
图像 (\Resources\reference\logo.gif)是需要更改的文件。最简单的方法是用自己的标志替换它,但需要保持相同的名称和大小。image016
 
如果您想进一步更改此提示的样式,可以更改上面提到的css或更改文件\Resources\dynamsoft.webtwain.install.js中的代码:
1
2
3
4
5
6
7
8
9
10
11
12
function OnWebTwainNotFoundOnWindowsCallback(ProductName, InstallerUrl, bHTML5, bIE, bSafari, bSSL,
strIEVersion) { }
    /* This callback is triggered when Dynamic Web TWAIN is not installed on a PC running Windows */
    function OnWebTwainNotFoundOnMacCallback(ProductName, InstallerUrl, bHTML5, bIE, bSafari, bSSL,
strIEVersion) { }
    /* This callback is triggered when Dynamic Web TWAIN is not installed on a MAC */
    function OnWebTwainOldPluginNotAllowedCallback(ProductName) { }
    /* This callback is triggered when Dynamic Web TWAIN is disabled by a non-IE browser */
    function OnWebTwainNeedUpgradeCallback(ProductName, InstallerUrl, bHTML5, bMac, bIE, bSafari, bSSL,
strIEVersion) { }
    /* This callback is triggered when Dynamic Web TWAIN installed on the machine is older than the //one on
the server and upgrade is needed */

本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!

未发布 【教程】Edraw Max(亿图图示):思维导图怎样一次性键入分支内容?
by Harriet666 keys 分享 1502356139814
Edraw Max(亿图图示)作为一款功能齐全,使用方便、快捷的全类型图形图表设计软件,不仅富含丰富的模板和例子,还可以一键轻松导入思维导图的分支内容。本文就教大家具体的操作方法吧!
 
目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!

Edraw Max(亿图图示)v8.7最新版下载地址>>>
 
第一步:选中需要添加分支的主题形状,然后点击“思维导图”菜单栏下的“添加多个主题”;
 
第二步:打开之后,依次输入需要添加的分支内容,按回车键(enter)换行,每一行代表一个主题;
 
第三步:重复以上两步,可以在第二级分支上再一次导入第三级分支;
 
第四步:数据导入之后,可以跟通过“思维导图”下的“布局”对整个思维导图的主题、样式进行调整,同时还可以将数据直接导出为Word、Excel以及文本格式。
未发布 CAD .NET v12发布,提高GDI+可视化速度并可导入AutoCAD®DWG 2018丨附下载
by Harriet666 keys 分享 1497254012640
CAD .NET 12,一个新版本的.NET库,可与DWG、DXF和其他CAD文件一起使用。
 
CAD .NET新版本大大提高了GDI+可视化的速度。当加载具有复杂结构的大文件时可以很明确的体验到。例如,包含大量实体的一些文件的可视化速度现在提升了十倍。
 
更重要的是,CAD .NET现在可以导入最近发布的最新DWG版本的AutoCAD®DWG 2018。
 
此外,CAD .NET使用非Unicode SHX文本和形状的方式已经大大改善。这种改进对于使用本地非Unicode字体的系统尤其重要,例如德语、法语、希伯来语和其他语言的特殊字符。
 
【CAD .NET 12最新版点击下载>>>】

32aead6ce62144f686fc3ec3e6920c00ojpg

CAD .NET 12包含的改进和修复的内容列表:
  • GDI+可视化速度大大提高
  • 导入AutoCAD®DWG 2018
  • 改进非Unicode SHX文本/形状支持
  • Bug修复

试用、下载、了解更多产品信息请点击"咨询在线客服"   

1
未发布 轻松审计代码安全性,Windows 10有妙招
by Harriet666 keys 分享 1503998911618
如果你是软件开发人员,又希望自己开发的软件安全性高一点,那么当前的Windows 10企业内部预览版(10.0.16253)中就有一个功能可以做到。
 
它的位置在“设置 – > Windows Defender – > Windows Defender安全中心 – >应用程序和浏览器控制 – >漏洞保护设置”中,你可以为整个系统或特定程序启用自定义漏洞利用设置。其中有很多不同的保护特性并且许多都可以在审计模式下打开。在审计模式下,它不是在出现情况时终止进程,而是将事件写入事件日志。对于管理员,这就意味着其会允许软件继续运行,同时能够使我们意识到这一情况是何时发生的。对于希望通过了解这些情况以此来改进产品的人来说,它其实是提供了一个启用安全功能的附加好处,即无需重新编译(在某些情况下),就能告诉你确切的程序代码在当它在运行时遇到问题的位置。在版本10.0.16253中,可以进行审计的保护特性包括:
 
任意代码保护 - 防止非图像支持的执行代码和代码页修改(例如VirtualAlloc / VirtualProtect创建/修改的代码)
阻止低完整性图像
阻止远程图像
阻止不受信任的字体
代码完整性守护者
禁用Win32k系统调用
不允许子进程
导出地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
导入地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
模拟执行
验证API调用(CallerCheck)
验证图像依赖完整性
验证堆栈完整性
 
要充分利用此功能,我们需要安装Windows Performance Toolkit。它是Windows SDK安装程序的安装选项之一。当您启用了您感兴趣的设置后,打开管理命令提示符并浏览到Windows Performance Toolkit目录(通常为Program Files(x86) Windows Kits  {Version}  Windows Performance Toolkit)。您可以通过运行以下两个命令(在替换文件名所需的任何路径之后)启动并开始收集上述漏洞保护设置的跟踪以及解析堆栈跟踪所需的数据:
xperf - “PROC_THREAD + LOADER”-f“wdeg_klogger.etl”
 
xperf -start“WDEG” - “Microsoft-Windows-Security-Mitigations:0xFFFFFFFFFFFFFF:0xFF:'stack'”-f“wdeg_unmerged.etl”
在您运行任何想要收集的方案之后,您可以停止跟踪并将数据与以下内容合并(再次替换文件名所需的任何路径):
xperf -stop -stop“WDEG”-d“wdeg_merged.etl”
 
然后,您可以删除创建的前两个文件,因为此时您将拥有第三个所需的所有数据。您可以在Windows Performance Analyzer(WPA)中打开生成的etl文件,并查看数据。
 
您可以使用wpaPreset文件扩展名保存它,在WPA中加载数据,转到我的预设(在WPA的较新版本中的文件 – >窗口 – >我的存在),选择导入,浏览到保存预设的任何地方,选择它,并双击它以显示视图。另外,您还需要加载符号,以充分利用这一点。您可以在WPA中在File-> Configure Symbols下设置符号; 您需要将其指向msdl.microsoft.com/download/symbols上的Microsoft符号服务器以及您的符号服务器(或您没有符号服务器设置的符号文件的位置)。您可以在加载跟踪时自动配置WPA加载符号,但也可以通过转到文件 – >加载符号来手动加载符号。一旦完成,您将能够轻松地查看堆栈跟踪。它就会像下面这样:
 
以下是在创建上述过程中我为x64控制台应用程序编译的示例代码:
#include #include using namespace std;void* CreateCodeInVirtualMemory(BOOL writable)
{ BYTE code[3] = { 0x33, 0xc0, 0xc3 }; LPVOID result = VirtualAlloc(NULL, sizeof(code), MEM_COMMIT | MEM_RESERVE, writable ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE); if (result)
{
  memcpy(result, code, sizeof(code));
} else cout << "VirtualAllocEx failed with error " << GetLastError() << endl; return result;
}void CreateCodeInVirtualMemoryAndExecute(BOOL useWritableMemory)
{ LPTHREAD_START_ROUTINE addr = (LPTHREAD_START_ROUTINE)CreateCodeInVirtualMemory(useWritableMemory); if (addr)
{  DWORD result = addr(NULL);
  cout << "Code at 0x" << hex << (void*)addr << " returned " << result << endl;
} else cout << "NULL address was not executed" << endl;
}void ExecuteIllegalMemory()
{
CreateCodeInVirtualMemoryAndExecute(FALSE);
} 
void PrintOptions()
{
cout << "Enter one of the following options:" << endl;
cout << "1 - Execute Memory Not Marked As Executable" << endl;
cout << "2 - Create Code in Virtual Memory" << endl;
cout << "3 - Create Code in Virtual Memory and Execute" << endl;
cout << "0 - Exit" << endl;
 
}void DecisionLoop()
{ while (true)
{  int selection;
  PrintOptions();
  cin >> selection;  switch (selection)
  {   case 0:    return;   case 1:
    ExecuteIllegalMemory();    break;   case 2:
    CreateCodeInVirtualMemory(TRUE);    break;   case 3:
    CreateCodeInVirtualMemoryAndExecute(TRUE);    break;   default:
    cout << "Invalid input" << endl;
  }
}
}int main()
{
DecisionLoop(); return 0;
}
 
在这里我没有去对它的应用做更多的介绍,但我相信我的抛砖引玉一定能够让更多的人对这一功能产生兴趣。
对于在事件查看器中的应用程序和服务日志中找到的大多数内容,您也可以以相同的方式完成此类操作——单击特定日志的属性,它将具有Provider-Name-Parts / LogName形式的名称。您只需要在xperf命令中使用“Provider-Name-Parts”部分即可。
未发布 MailBee.NET Objects退回邮件教程(一):SMTP部分
by Harriet666 keys 分享 1503479866630
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了SMTP服务器退回邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

所有退回的电子邮件都应该到达一个邮箱地址。这里将其命名为我们的退件通知栏 - bounce@domain.com。显然,你需要确保退回的邮件能有它们的方式到达退件通知栏。
 
让我们看看这些邮件是如何由SMTP服务器发送的。当一封邮件提交给SMTP服务器时,它将被标记返回路径。返回路径是服务器用于与邮件的原始发送方通信的路径,因此返回路径通常是发件人的电子邮件地址(“From”地址)。
 
返回路径记录在邮件中。“From”用于显示发件人地址。返回路径和字段“From”中的地址不必一样。因此,您可以发送一个使用字段“From”的电子邮件显示发件人(jdoe@domain.com),但返回路径将是bounce box地址(bounce@domain.com)。有了这个技巧,所有的反弹消息都将返回到一个特殊的邮箱。
 
那么如何使用MailBee Objects呢?smtp.Send(senderEmail,recipient)方法向指定的收件人电子邮件地址发送电子邮件。第一个参数是发件人的电子邮件地址。如果是空引用,则电子邮件地址取自“From”属性。第二个参数包含收件人电子邮件地址的分隔列表。当第二个参数为空时,收件人列表可以由To、Cc和Bcc列表组合。正如你所看到的,第一个参数是我们组织一个退件栏所需要的。如果将退件栏地址设置为第一个参数,那么所有退回邮件将被发送到特殊地址。
 
注意:某些SMTP服务器不允许从“From”标头中指定的地址发送电子邮件。
 
代码示例:
 
此示例使用SMTP协议发送电子邮件。为了确保所有收件人都收到该邮件,TestSend将被调用。带有传送错误的邮件将来自指定的电子邮件地址。
C#
// Create SMTP object
Smtp mailer = new Smtp();

// Set the message fields.
mailer.From.AsString = "jdoe@domain.com";
mailer.To.AsString = "bill@domain2.com";
mailer.Subject = "Hi";
mailer.BodyPlainText = "This is test message";

// Starts logging SMTP activities into a file. 
mailer.Log.Enabled = true;
mailer.Log.Filename = @"C:\log.txt";
mailer.Log.Clear();

// Specify the server to use. If your server does not require authentication, 
// just omit both last parameters.
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret");

// Attempt to connect.
mailer.Connect();

// Display the host name of the server the connection was established with.
Console.WriteLine("Connected to " + mailer.SmtpServers[mailer.GetCurrentSmtpServerIndex()].Name);

// Make sure all the recipients are ok.
if (mailer.TestSend(SendFailureThreshold.AllRecipientsFailed) != TestSendResult.OK)
{
        Console.WriteLine("No recipients can receive the message.");
}// Show refused recipients if any
else if (mailer.GetRefusedRecipients().Count > 0)
{
    Console.WriteLine("The following recipients failed: " + mailer.GetRefusedRecipients().ToString());
}
else
{
    Console.WriteLine("All recipients are ok. Will send the message now.");

    // Send e-mail. If it cannot be delivered, bounce will
    // arrive to bounce@domain3.com, not to joe@domain1.com
    mailer.Send("bounce@domain.com", (string)null);
    Console.WriteLine("Sent to: " + mailer.GetAcceptedRecipients().ToString());
}

// Disconnect from the server
mailer.Disconnect();
VB.NET
' Create SMTP object
Dim mailer As New Smtp

' Set the message fields.
mailer.From.AsString = "jdoe@domain.com"
mailer.To.AsString = "bill@domain2.com"
mailer.Subject = "Hi"
mailer.BodyPlainText = "This is test message"

' Starts logging SMTP activities into a file. 
mailer.Log.Enabled = True
mailer.Log.Filename = "C:\log.txt"
mailer.Log.Clear()

' Specify the server to use. If your server does not require authentication, 
' just remove last 2 parameters.
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret")

' Attempt to connect.
mailer.Connect()

' Display the host name of the server the connection was established with.
Console.WriteLine("Connected to " + mailer.SmtpServers(mailer.GetCurrentSmtpServerIndex()).Name)

' Make sure all the recipients are ok.
If mailer.TestSend(SendFailureThreshold.AllRecipientsFailed) <> TestSendResult.OK Then
        Console.WriteLine("No recipients can receive the message.")
Else
    ' Show refused recipients if any
    If mailer.GetRefusedRecipients().Count > 0 Then
        Console.WriteLine("The following recipients failed: " & mailer.GetRefusedRecipients().ToString())
    Else
        Console.WriteLine("All recipients are ok. Will send the message now.")

        ' Send e-mail. If it cannot be delivered, bounce will
        ' arrive to bounce@domain3.com, not to joe@domain1.com
        mailer.Send("bounce@domain.com", CType(Nothing, String))
        Console.WriteLine("Sent to: " + mailer.GetAcceptedRecipients().ToString())
    End If
End If

' Disconnect from the server
mailer.Disconnect()

未发布 图形图表设计软件Edraw Max更新至v9.1丨8.5折特惠
by Harriet666 keys 分享 1520925391498
Edraw Max(亿图图示)是一款综合图形图表制作软件,它包含丰富的实例和模版,帮助您轻松创建流程图、网络拓扑图、组织结构图、商业图表、工程图,思维导图、软件设计图和平面布局图等。亿图采用更智能和人性化的绘制方式,包括丰富的图形模板库和特色实例库,最大程度帮助设计者降低工作量,更快捷阐述设计思想,提升创作灵感。
 
目前Edraw Max(亿图图示)在线订购享85折优惠正在进行中,欢迎您下载试用版进行运用!
 
 
 
v9.1更新内容:
  • 添加了平移/手形工具,只需按住鼠标右键即可自由平移画布。
  • 添加插入QR码的功能。
  • 新增屏幕捕捉功能。捕捉的图像可以立即插入到您的绘图中。
  • 增加了设置默认字体的功能。您可以在选项菜单中选择“使用默认字体而不是主题字体”。
  • 改进了PDF和Word导出的效果,解决了文本错位的问题。
  • 增加了语言更改功能。现在您可以直接从选项菜单更改UI语言。
  • 添加并改进了更多的线框符号库,包括网站线框元素、线框图标、iOS图标和Andriod线框图标。添加了更多的线框模板。
  • 添加Genogram符号和模板。
  • 为K-12教育添加了大量的科学示例和模板。
  • 为物联网、智能家居、大数据、人工智能等添加了剪贴画。

试用、下载、了解更多产品信息请点击"咨询在线客服"  

315


未发布 PDF插件VintaSoftPDF.NET Plug-in v5.5发布,新增PDF验证功能
by Harriet666 keys 分享 1496299140709

VintaSoftPDF.NET Plug-in是一个完全的.NET组件,可用于查看,创建以及编辑PDF文档。该程序库还可用于显示,渲染,创建,转化,注释,打印,保存,修改和编辑PDF文档页面。

VintaSoftPDF.NET Plug-in下载试用>>>


PDF文件的验证和转换:
  • 增加了验证符合标准的PDF文件的功能:PDF / A-1b、PDF / A-2b、PDF / A-3b。
    ·  能够验证PDF文档是否符合所有章节、单独的章节或PDF / A规范的项目。
    ·  快速验证模式(直到找到第一个错误)。
    ·  能够显示验证过程的多层次进度指标。
    ·  能够详细查看验证结果。
    ·  开放架构,允许开发任何算法来验证PDF文档。
  • 增加了将PDF文档转换成以下格式的功能:PDF / A-1b、PDF / A-2b、PDF / A-3b。
    ·  能够显示验证过程的多层次进度指标。
    ·  能够查看转换结果的全部细节。
    ·  开放架构,允许开发任何算法来转换PDF文档。

使用PDF文档:

  • 增加了在多个线程中处理PDF文档的功能(渲染、缩略图、文本提取、图像提取)。
  • 改进了XREF表恢复的算法。

使用PDF文档的注释:

  • 支持的新类型的PDF注释:
    ·  Ink
    ·  文件附件
  • 添加了PDF注释的样式:多边形、矩形、自由文本。
  • 在WinForms和WPF中添加了在注释图像查看器中显示PDF注释的弹出窗口的功能。
  • 改进了PdfAnnotationTool和WpfPdfAnnotationTool编辑模式下的注释多选功能。

使用PDF文档的交互式领域:

  • 添加了新的交互式字段--PDFFInteractiveFormVintasoftBarcodeField,它允许使用VintaSoft Barcode .NET SDK中可用的所有类型的1D和2D条形码。该字段有一些额外的参数,这在PdfInteractiveFormBarcodeField中是不可用的:
    ·  背景颜色
    ·  条码颜色
    ·  边框(颜色、宽度)
    ·  条形码布局
    ·  BestFit模式(条形图被拉伸以填充整个区域,二维条形码将保持其比例)
  • 增加了自动更新交互式字段外观的功能(PdfDocument.AutoUpdateInteractiveFormAppearances)。

渲染PDF文档:

  • 增加了在PDF页面中渲染JPEG图像时控制样本插值的功能。
  • 提高了1-bit图像的渲染性能。

查看具体更新内容>>>

未发布 条码识别控件Dynamsoft Barcode Reader更新至v5.2丨附下载
by Harriet666 keys 分享 1505814675249
Dynamsoft Barcode Reader SDK一款多功能的条码读取控件,只需要几行代码就可以将条码读取功能嵌入到Web或桌面应用程序,能支持多种图像文件格式以及从摄像机或扫描仪获取的DIB格式。
 
 
31935a2406f642ab98a8a5a6ebf07737ojpg
 

Dynamsoft Barcode Reader v5.2新版本更新和改进仅适用于Windows Edition。
 
新版本的亮点:
  • 通过优化的本地化和识别算法,提高了PDF417的识别性能。
  • 通过优化的去模糊算法提高了1D条形码的识别精度。
  • 现在可以设置暂停条形码识别。
 
改进:
  • 改进了PDF417条形码的本地化和识别算法。
  • 优化了1D条形码的去模糊算法,提高识别精度。
  • 现在可以暂停条码识别。
  • 增加B&W图像的QR码和数据矩阵条码识别速度。
修复:
  • 小的修复和调整。
未发布 GIS软件开发工具包TatukGIS Developer Kernel更新至v11.5,修复紧急问题
by Harriet666 keys 分享 1498556827991
GIS定制开发首选控件,帮您轻松搞定高效、优质、实惠的GIS解决方案

TatukGIS Developer Kernel(DK)是一个用于开发自定义地理信息系统(GIS)应用程序以及解决方案的综合性软件开发工具包(SDK)。众所周知,构建一个庞大的地理信息系统需要花费大量的金钱和人力,而TatukGIS却是同类产品中性价比最高的控件,TatukGIS Developer Kernel DK因其功能强大,价格适中,已被超过 50个国家的个人、公司、以及政府等客户用来实现其地理信息系统解决方案。根据不同地首选开发环境,本产品分别以五个独立产品的形式提供(即VCL、.NET/WPF、ActiveX、Compact Framework和ASP.NET),各个产品使用相同的框架、应用程序编程接口(API)技术。
 
v11.5更新内容:
  • 修复Winforms/WPF SharpDX渲染器内存泄漏的关键问题。
  • 修复了VCL Hi-DPI相关问题(比如RAD Studio 10.1 Berlin之前版本的低分辨率对话框的尺寸不正确)。[DK-9287],[DK-9278]
  • WinForms/WPF对话框加入阿拉伯语和希伯来语翻译。 [DK-9255]
  • WinForms/WPF是Hi-DPI aware。 [DK-9277]
  • 其他修复。
未发布 多平台移动项目开发工具Elements发布v9.1,支持Visual Studio 2017
by Harriet666 keys 分享 1499676794095
Elements是一款多平台移动项目开发工具软件,它包含Oxygene、C#、Swift三种编程语言和相关工具,并且提供这三种语言丰富的开发经验以及最新的Fire开发环境,极大的方便开发人员开发软件项目。
 
Elements 9.1点击下载>>>
 


 Fire


此版本是Fire最重要的更新。

性能改进

Fire在许多方面都进行了精简和性能改进。代码编辑器的响应速度更快,例如,在构建过程中CPU占用低。100%的响应一直是Fire的首要目标。Fire的大部分工作都是在极低功耗的12“MacBook”Adorable“上完成的,而我们的基准是,即使是最低端的硬件,Fire也可以使用,9.1版本更是如此。

互动调试控制台

Fire的调试功能在许多方面得到了加强,最出色是引入了新的交互式调试控制台。当你的应用程序进入调试器时,底部控制台视图现在允许你使用调试器命令提示符与调试器进行交互。
在使用LLDB的平台(如Cocoa和一些Island targets)上,你可以使用所有功能访问LLDB的完整命令界面;在其他平台上你会收到我们的edb提示,它提供必要的命令并将随着时间的推移而扩展。
3dac7b36f7c847c484d29ce20110bdabojpg

Gradle References和EBuild

Fire(和Elements构建链)支持Java和Android项目中的显式Gradle References管理。Gradle References现在是项目的第一类成员,就像常规引用一样,它们可以通过“管理引用”表进行添加和更新。Fire还使用我们即将推出的EBuild工具链的技术预览。
9028a442e67b45839026cef980b7bcdfojpg
 

 Visual Studio中的Elements


Visual Studio是Windows上开发人员的主要IDE,Elements 9.1为Visual Studio带来了一些新功能和增强功能。

支持Visual Studio 2017

支持所有新的Visual Studio 2017 IDE。虽然没有Shell,Elements 9.1提供了与已安装的Visual Studio 2017集成,包括专业版、企业版和免费社区版。当然,VS2017中支持所有四种平台和三种语言。
 

 
 Island


我们最初在9版中引入的新版本的Island平台也是这个版本的主要重点,有许多改进和增强和修复:

在Windows 10上运行和调试Linux应用程序

针对Linux的Island开发人员现在可以在Visual Studio、Windows 10 Creators Update或更高版本的本地机器上无缝地运行和调试他们的应用程序,只需点击“ 开始 ”或按F5。
f54702d38b3c44e28301c258b27bb1f9ojpg
 
 

新的子平台:ARM上的Android NDK和Linux

Elements 9.1中Island平台支持两个新的子平台。除了支持英特尔x64之外,Linux应用程序现在可以定位armv6和更高版本的CPU。你可以开发在嵌入式设备上运行的Island应用程序,从Raspberry Pi一直运行到Bare ARM系统等。
此外,我们还添加了Android NDK作为一个brad新的子平台,允许你使用NDK、Oxygene、C#、Swift和Java语言创建Android应用程序扩展(或整个应用程序)。

支持Library

EUnit、Elements RTL和Delphi RTL都已经移植到了这个版本的Island,现在在使用这些(可选)库时,可以在所有三个平台上同步。
 

 
 Libraries


Elements RTL

Elements 9.1正式引入了新的跨平台兼容性库Elements RTL。代替“Sugar”,Elements RTL是一个可选的库。无论你是在编写一个iOS应用程序并计划移植到Android,还是要创建Mac和Windows版本的桌面应用程序,Elements RTL可以轻松共享代码。
当然,Elements RTL也支持我们新的Island平台。

Delphi RTL改进

用于将Delphi代码移植到Oxygene的Delphi RTL兼容性库得到了改进。它现在基于Elements RTL,并且也适用于Island,使其成为跨所有Elements targets的真正跨平台。

 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. 在无管理员权限的情况下,使用安装Python补全pip临时配置环境变量;即零权限使用node.js/npm
  2. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  5. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  6. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  7. Node.js 打印vite react+go项目目录树
  8. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  9. Windows与Mac通过git ssh和rsync实现文件共享互传
  10. Windows与Mac通过git ssh和scp实现文件共享互传

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA