才能让Delphi开发的浏览器支持IPv6的解决办法
1. 下载Gecko SDK,这个是Gecko内核的开发包,下载完的文件包包含:GeckoComponents,GeckoSdk,gre三个文件夹。
2. 首先打开delphi 2007 安装GeckoSDK文件夹中的GeckoSDK.dpk ,然后安装GeckoComponents文件夹当中的GeckoComponents.dpk 。
3. 然后在Tool à OptionsàEnvironment Options àLibraryàLibrary path 中包含Gecko sdk中三个文件夹。
好改4. 完成上一步骤之后,在delphi工具栏当中会多出一组控件,Gecko组的TGeckoBrowser和TGeckoSimpleProfile两个控件。
5. 建立新的VCL Forms Application ,在Form中拖入两空芹个控件。
6. 现在的情况去编译是不成功的,在TGeckoBrowser.Create上会出现:Error:GRE_Startup()错误。原因是还没安装好一个完整的Gecko运行环境。
7. 下友亏判载Mozilla版本1.7
8. 安装完mozilla-win32-1.7.13-installer.exe,解决5中的错误。程序编译成功。
9. 现在来看看控件是否有作用。添加TButton控件和TEdit控件,在Button中添加代码procedure TForm1.Button1Click(Sender: TObject)
begin
GeckoBrowser1.LoadURI(edtURL.Text)
end
其中GeckoBrowser1为添加的TGeckoBrowser控件名称。edtURL为TEdit控件名称。
10.编译成功。运行程序,就能看到效果了,在输入框中输入网址,点击Button1按钮。
11. 成功。
1、通过注册表获取或修改Ip想到Windows会把系统网卡相关信息存入注册表,肯定可通过注册表读取具体ip信息。大致思路是找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards ,由NetworkCards得分支表示各个网卡的信息通过ServiceName到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces 下找到对应的网卡配置详细信息,通过对注册表的read与write实现读取或修改ip地址等信息。
2、通过解析批处理命令结果获取
在cmd命令行输入ipconfig可以显示出当前电脑ip地址,可以考虑先执执行命令"Ipconfig /all >Ips.txt",然后解析Ips.txt文件得到本机的Ip信息,此方法较繁杂。
3、通过delphi控件获取Ip
找到猜槐fastnet 下的 Tpowersock控件,利用 该控件localip属性返回 本机(主要指局老兄域网) ip地址 。 放一个控件在窗体上可得到本机IP,方便简单。
4、通过WinSock函数获取Ip
此方法在程序中常用,一般函数如下:
//多网卡 将IP地址写入到列表,求本机IP的话返回IP列表中的第一个即可,该函数要引侍兆袭用 WinSock
function GetLocalIpList(var IpList:TStringList):Integer
type
TaPInAddr = array[0..10] of PInAddr
PaPInAddr = ^TaPInAddr
var
HostName: array [0..MAX_PATH] of char
NameLen: Integer
WSData: TWSAData
lpHostEnt: PHostEnt
I: Integer
pptr: PaPInAddr
begin
Result := 0
if WSAStartup(MakeWord(2,0), WSData) <>0 then Exit
try
NameLen := sizeof(HostName)
fillchar(HostName, NameLen, 0)
NameLen := GetHostName(HostName, NameLen)
if NameLen = SOCKET_ERROR then Exit
lpHostEnt := GetHostByName(HostName)
if lpHostEnt = Nil then Exit
I := 0
pPtr := PaPInAddr(lpHostEnt^.h_addr_list)
IpList.Clear
while pPtr^[I] <>nil do
begin
IpList.ADD( inet_ntoa(pptr^[I]^))
Inc(I)
end
Result := IpList.Count
finally
WSACleanup
end
end
Delphi 7中快橘姿速获取本机IP地址朋友们在用Delphi编程序的时候,常常碰到需要在程序中获取自己的IP地址的情况。在以往的版本中,可以通过编写一段代码或函数实现这一功能。但有了Delphi 7,这个工作可以更简化了。利用控件只需一句代码,就可以非常方便地实现这一功能。
新建一Project1,在form1中添加控件statusbar1(Win32页)和控件IdIPWatch1(Indy Misc页)。接着设置好控件属性:在statusbar1的panels中添加0-TStatusPanel和1-TStatusPanel两项;IdIPWatch1的HistoryEnabled的属性设为False。
编写代码:在TForm1.FormCreate(Sender: TObject)中加入以下代码孙伍汪:
statusbar1.Panels[1].Text:=IdIPWatch1.LocalIP
OK!按下F9功能键,运行程序,看一下窗口下边状态栏中是不是已经显示了本机的IP地址了?
提示:若IdIPWatch1的HistoryEnabled的属性设为True,则会在程序退出时,则仔自动生成一个文件(文件名为HistoryFileName属性设定的值),记录当前的IP地址
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)