Delphi程序和大模型交互之二

delphi FMX.WebBrowser与H5交互JavaScript delphi FMX.WebBrowser与H5交互JavaScript 一、原理 1.1、前提条件(主要是针对MSWindows下对D10.4以下的TWebBrowser的支持,不过D10.4已解决了这个前提) 你所选用的JS库或JS代码本身是很好的兼容IE10及其以上 国内大厂和国外优质站点,一般在写Web代码时,都考虑了IE的兼容性问题。国内小厂,大多数的做得不好只考虑省事、少写了很多代码,引以为戒,你在发布自己的API时,一定要考虑浏览器内核的兼容... 阅读详情

Delphi程序和大模型交互之二

关于前面的 《Delphi程序和大模型交互》

我只是测试了 AI 能否理解并且能否创建 SOAP 的调用协议对应的 XML;我是在AI的浏览器聊天页面里面测试的,AI 的输出是聊天文本,我复制粘贴到我的 Delphi 代码里面去执行的。如果要完整的自动化跑,应该是调用 AI 的 API。但我目前没有调用 API 的免费账户,就没有做这个工作。哪天搞到个账号再试试能否完全自动化地跑起来,不需要人肉在中间复制粘贴文本来回传。

大概流程

  1. 告诉AI这里是 SOAP 调用,给它 SOAP 调用的 WSDL,让它分析里面有几个函数或者方法。然后告诉它某个函数比如我的例子里面的 XPlusY 函数,是执行加法的函数。

  2. 我告诉它我要调用 XPlusY 函数,X 是多少,Y 是多少,这里是自然语言;以下是我输入给 AI 的自然语言请求:

调用 XPlusY 函数

现在你需要作为一个 WebService 客户端,调用服务器提供的 XPlusY 函数,你必须生成调用 XPlusY 函数的完整的符合SOAP协议的XML给服务器端。
调用 XPlusY 函数的两个参数分别是:X=12; Y=22;
请深入思考后输出符合规范的XML

  1. AI 创建一个调用 XPlusY 函数的 XML,里面的 X和Y的参数它也按照我的自然语言提出的需求构造好了。

  2. 如果我的代理程序是接的 API,则程序可以自动拿到 AI 输出的 XML,然后我的程序使用 IdHTTP 把这个 XML Post 给我的 WebService 程序,这个是 Delphi 写的。

  3. 我的 WebService 程序执行了 XPlusY 这个函数,并返回结果给我的代理程序;我的代理程序(也就是包含 IdHTTP 并且接了 AI 的 API 的程序)收到函数调用的返回(返回也是 XML 字符串),把这个 XML 字符串丢给 AI;

  4. AI 拿到这个 XML 字符串,它自己会根据 SOAP 协议标准分析其内容,从里面获得函数的返回值。我的例子代码里面,是 34. 以下是 AI 一大堆分析 XML 的输出文本里面我摘取出来的 AI 输出:

元素内容为 34,即计算结果(12 + 22 = 34)。

假设的应用场景

假设我用自然语言问 AI 现在深圳的气温是多少。AI 的训练数据肯定是以前的,没有今天的深圳气温数据。但如果我事先写好一堆提示词,告诉 AI 使用 SOAP 去调用哪个函数,把这一堆提示词和“现在深圳气温是多少?”这句自然语言一起发给AI,则AI会创建 SOAP 调用的 XML 输出给我的程序,我的程序就会执行对应的函数,我在这个函数里面去调用天气预报的接口API(可能是个 HTTP 调用),然后把从天气预报API里面拿到的数据返回给AI,AI 按照SOAP协议自动分析返回的 SOAP 调用结果的 XML 字符串,从里面找出真正天气数据,然后用自然语言告诉我现在的气温是多少。

Delphi与大模型交互:医疗数据系统实战优化 在传统企业级应用开发中,Delphi以其高效的快速开发能力著称。然而,随着AI大模型的兴起,如何实现Delphi与大模型的交互成为新的技术挑战。特别是在医疗数据系统等对性能和精度要求极高的场景下,数据类型转换、内存管理和并发模型等技术原理的差异尤为突出。通过gRPC协议和Protocol Buffers等现代技术方案,可以有效解决这些痛点,实现高效稳定的交互。本文以医疗影像数据处理为例,详细介绍了如何优化数据传输、实现异步回调处理以及内存管理技巧,为类似场景下的工程实践提供了有价值的参考。 阅读详情

相关推荐

自己写的一个DELPHI 控制台程序

代码如下:   // 经过整理的DELPHI控制台程序,体积小,功能不少。呵呵 --XIAO 2013.5 program Console; {$APPTYPE CONSOLE} uses Windows,SysUtils,TLHelp32; {$R *.RES} function GetWinDir: string; var Buf: array[0..

xhh2001的专栏 4050

Delphi程序和AI大模型交互

本文探讨了使用Delphi开发AI大模型Agent的方法。通过构建WebService服务器端程序,演示了如何让AI模型调用本地函数(如XPlusY加法函数),并解析返回结果。作者详细记录了SOAP调用的XML格式,展示了如何通过HTTP直接发送XML请求获取服务端响应。实验证明,AI模型(如DeepSeek)能够理解SOAP协议规范,并根据WSDL生成正确的客户端调用XML代码。这种方法为AI模型与本地程序交互提供了可行方案,通过标准化的SOAP/XML接口实现功能扩展。

pcplayer的博客 1353

Delphi与大模型交互:技术方案与实现细节

大语言模型(LLM)如GPT和LLaMA已成为AI领域的热门技术,广泛应用于自然语言处理、智能对话等场景。其核心原理是基于Transformer架构的海量参数模型,通过预训练和微调实现多任务处理。在工程实践中,开发者常需将LLM能力集成到现有系统中,Delphi作为经典的Windows开发工具,面临缺少官方SDK支持、数据类型转换复杂等挑战。通过HTTP API直接调用、中间件服务或本地模型集成等方案,可有效解决这些问题。特别是在工业控制和企业管理系统等Delphi传统优势领域,结合异步处理、流式响应和性能

weixin_30266885的博客 450

delphi java jni 互通_通过 JNI 让 JAVA 与 Delphi 程序交互

有些时候,要写一些程序,在 JAVA 里面好难实现, 但如果使用其它编程语言却又比较容易时,我们不妨通过 JNI 来让不同语言的程序共同完成.JNI 的教程, 网上 C 的比较多,Java 也提供了 javah.exe 为 C 语言的 JNI 程序生成头文件,如果你是一个 Delphi编程员,能否让 JAVA 与 Delphi 程序交互呢? 答案是肯定的,今天我们就来看一下一个简单的例子.H...

weixin_42336892的博客 267

delphi xe 10.2 调用跟HTML交互

学习了下网上一些文档自己打代码试了下,现在贴出代码以及说明供大家参考 1.HTML代码如下 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Test </title> </head> ...

qq_17029305的博客 1121

ODS 与模态分析

模态分析不是通过现有的 FRF 来“推测”或“估计”其他模态参数,而是通过测量和分析 FRF 来。

轩辕霸天L 1260

Delphi中Android运行和JNI交互分析

Androidapi.JNIBridge负责和JNI交互.,既然要交互,那么首先就是需要获得JNI的运行环境,Android本身内置的就有一个Java(Dalvik)虚拟机。所以这个第一步就肯定是要这个虚拟机和我们当前的运行线程环境关联。这时候Androidapi.JNIBridge中的TJNIResolver就出场了。GetJNIEnv这个函数就是, class function TJNI

不得闲.闲忆居 3724

TSP、MTSP问题遗传算法详细解读及python实现

写在前面 遗传算法是一种求解NPC问题的启发式算法,属于仿生进化算法族的一员。仿生进化算法是受生物行为启发而发明的智能优化算法,往往是人们发现某种生物的个体虽然行为较为简单,但生物集群通过某种原理却能表现出智能行为。于是不同的人研究不同的生物行为原理,受到启发而发明出新的仿生进化算法。比如免疫优化算法,蚁群算法,模拟退火算法等,这些算法以后也会简单介绍。 本文的主题是遗传算法,该算法也是受到生物行为启发。物竞天择,适者生存,优胜劣汰,是该优化算法的核心思想。笔者在业务中需要用到遗传算法求解TSP问题,但是网

weixin_47675950的博客 9305

DELPHI XE2 BPL窗口调用主程序与BPL窗体参数传递:提升DELPHI程序交互体验

DELPHI XE2 BPL窗口调用主程序与BPL窗体参数传递:提升DELPHI程序交互体验 去发现同类优质开源项目:https://gitcode.com/ 在软件开发领域,DELPHI XE2环境下的BPL(Binary Program Library)窗口调用与参数传递一直是开发者关注的焦点。本文将详细介绍DELPHI XE2 BPL窗口调用的核心功能与场景,帮助开发者更好地理解和应用这一技...

gitblog_06746的博客 1038

STM32H743 ADC多通道采样实战:CubeMX配置+DMA传输避坑指南

本文详细介绍了STM32H743 ADC多通道采样的实战配置,包括CubeMX参数设置、DMA传输优化及常见问题解决方案。重点解析了ADC模块的核心特性、多通道采样序列配置、Cache一致性处理等关键技术,帮助开发者高效实现稳定可靠的模拟信号采集系统。

weixin_29175469的博客 611

别再为OpenBCI_GUI安装发愁了!保姆级教程带你从Processing配置到成功运行(附常见错误解决)

本文提供了一份详细的OpenBCI_GUI安装教程,涵盖从Processing配置到成功运行的全过程,特别针对常见错误提供了解决方案。通过环境搭建、软件依赖安装、源码处理及首次运行实战,帮助用户高效完成数据可视化工具的部署与使用。

weixin_28366475的博客 267

使用非常方便的 Delphi 和网页交互 VCL

2010/8/1更新:实际项目中使用发现如果页面大量使用了 ajax,这个解决方案还存在很错问题,工作起来非常不稳定。慎用!!! 下载地址:http://download.youkuaiyun.com/source/1913671 我们目前的项目程序普遍使用 Delphi 客户端内嵌 Internet Explorer 的方式实现,在开发过程中,由于

2039

解决UE5像素流三大痛点:鼠标锁定/双光标/自动播放(附app.js魔改指南)

本文针对UE5像素流服务在实际应用中常见的鼠标锁定、双光标和自动播放三大交互痛点,提供了深入的技术分析和解决方案。通过详细解析app.js源码,指导开发者如何修改控制方案、修复光标显示以及实现静音自动播放,旨在提升Pixel Streaming应用的用户体验与专业度。

weixin_28025327的博客 382

Delphi各个版本和发展历史

Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。它的前身,即是DOS时代盛行一时的“BorlandTurbo Pascal”,最早的版本由美国Borland(宝兰)公司于1995年开发。主创者为Anders Hejlsberg。经过数年的发展,此产品也转移至Embarcadero公司旗下。Delphi是一个集...

sinolover的专栏 4793

DNN加速器脉动阵列轻量级瞬时故障检测

本文系统综述了面向深度神经网络(DNN)脉动阵列加速器的轻量级瞬时故障检测技术。通过分析比较算法级校验(ABFT)、数值异常监测(剪裁、中值滤波等)、硬件编码检错(AN码、剩余码)以及选择性冗余等方案,指出这些方法能以5%-10%的开销实现对权重和激活比特翻转的高效检测,远低于传统ECC/冗余计算的成本。研究显示,结合多种轻量技术可构建多层防护体系,在保障推理可靠性的同时保持加速器的高性能特性。该成果为安全关键领域的DNN加速器设计提供了重要参考。

欢迎交流! 1073

BambuStudio学习笔记:GCode 类

关键成员解析 核心配置组件 状态跟踪系统 功能模块集成 核心方法剖析 主输出管道 实现多阶段处理: 分层处理流程: 实现智能路径规划: 关键特性: 实现模板故障检测: 采用三级流水线: 支持扩展类型: 实现多通道输出: 采用: 实现: 支持: 支持模块化编译: 典型流程: 实现功能:

zzzkk2009的专栏 927

Delphi与Flex交互

1、在Delphi中安装Flash控件运行Delphi,选择菜单中的Component -> Import ActiveX Control,找到Shockwave Flash (Version 1.0)并安装,默认安装到ActiveX面板。安装完成后,ActiveX面板就会出现TShockwaveFlash控件,这是Delphi对C:/WINDOWS/system32/Macromed/Flash/Flash10i.ocx的封装,现在我们就可以用这个控件来播放Flash了。2、TShockwaveFlash

snowclash的专栏 5406

181、LLC谐振变换器的PCB设计实战(文件归档)

PCB设计实战经验总结:LLC谐振变换器的关键要点 本文通过实际案例总结了LLC谐振变换器PCB设计中的核心经验和常见误区。重点包括: 文件命名规范(项目代号_板卡类型_版本号_日期格式) 四层板标准层叠结构设计要点 谐振回路走线原则(宽度、长度控制) 地线处理技巧(功率地/控制地隔离) 散热设计注意事项(MOSFET过孔阵列、变压器布局) 完整的文件归档清单(Gerber、钻孔、装配图等) 作者特别强调,良好的设计归档习惯能显著降低生产问题概率,建议采用双重备份机制。文中多个真实案例(如谐振频率偏移、EM

Jack010169的博客 42

delphi 跟 WebBrowser 中JS 交互思路

最近才接触delphi  在其他语言中跟WebBrowser 中JS交互很轻松,可在delphi  中交互却并不容易 问题有:  wb1.OleObject.Document.parentWindow.execScript('setData(1)', 'javascript'); 以上代码可以调用网页JS 但delphi 得不到返回的js的返回值。 比如WebBrowser想主动调用d

qq_30289577的博客 6460

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

用Delphi写和本机大模型聊天的流式HTTP程序

本文介绍了如何在Delphi中使用TNetHTTPClient实现AI聊天的流式响应处理。与传统的TIdHTTP不同,TNetHTTPClient通过OnReceiveDataEx事件可以实时接收分段数据,无需等待完整响应。文章详细展示了如何设置HTTP请求、处理分块JSON数据并实时更新UI界面,实现了类似主流AI服务的逐字显示效果。该方法避免了阻塞式通讯的等待问题,为开发Delphi版AI客户端提供了实用解决方案。

pcplayer的博客 494

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Delphi语言的数据库交互

Delphi是一个基于Object Pascal的集成开发环境(IDE),主要用于开发Windows平台上的应用程序。它提供了可视化的界面设计工具和强大的编程功能,使得开发者能够快速构建复杂的桌面应用程序,同时也具备了强大的数据库支持能力。Delphi语言为开发者提供了丰富的数据库交互能力,能够高效地进行数据管理。无论是小型应用还是大型企业级系统,Delphi都能够通过其强大的数据库组件和灵活的编程能力满足开发需求。随着信息技术的不断进步,掌握Delphi的数据库交互能力将对开发者的职业生涯大有裨益。

2501_91024643的博客 502

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

html和delphi交互代码,如何在html与delphi间交互代码

MainForm.UniButton4.getId();//取Unigui控件idMainForm.UniButton4.id;//取Unigui控件id[UniURLFrame之使用]UniLoginForm1.UniURLFrame1.iframe.contentWindow.document.getElementByIdx_x('container').innerHTML='';UniL...

weixin_39574928的博客 494

CEF4Delphi中JavaScript与Delphi交互的实现原理

在CEF4Delphi项目中,实现JavaScript与Delphi代码的交互是一个常见需求。本文将深入探讨其实现机制,帮助开发者更好地理解和使用这一功能。 ## 核心机制解析 CEF4Delphi通过V8扩展处理器来实现JavaScript与Delphi的交互。当JavaScript调用注册的Delphi方法时,CEF会创建一个专门的进程来处理这些调用请求。 ## 实现步骤详解 1. *

gitblog_07684的博客 734

DDE方式下Delphi7程序间及与VB6程序的数据交换

本文介绍了如何在Windows平台下使用DDE(动态数据交换)功能实现应用程序间的实时数据交互,重点演示了Delphi7和VB6的具体实现方法。文章详细说明了DDE的三个核心要素(Service、Topic、Item)及其在Delphi中的对应实现方式,提供了完整的Delphi7代码示例,展示了如何建立DDE服务端和客户端连接,实现文本框内容的自动同步。同时简要介绍了VB6客户端的实现方法,强调只需正确设置DDE相关属性即可接收来自Delphi服务端的数据。通过代码示例,清晰展示了DDE技术在跨语言应用程序

weixin_45707491的博客 1051
上一篇: Delphi程序和AI大模型交互
下一篇: 本机安装大模型
pcplayer
博客等级 码龄26年 633粉丝 284原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值