我试图在delphi中构建一个允许用户使用谷歌地图的系统.一切正常,但我注意到每次创建一个新的TWebBrowser对象并加载处理谷歌地图的javascript时,会生成许多新的线程.
我的问题是,即使web浏览器被销毁(并且它被明确销毁),创建的线程仍然存在.我正在设计这个程序有很长的运行时间和谷歌地图的打开和关闭发生多次,因此,一段时间后,生成了很多线程,并没有终止该程序显着减慢.
有没有办法自己销毁这些线程,或者我做错了什么导致线程持续存在?
我的程序基于以下代码:
const
HTMLStr: AnsiString =
'<html> '+
'<head> '+
'<meta name="viewport" content="initial-scale=1.0, user-scalable=yes" /> '+
'<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"> </script> '+
'<script type="text/javascript"> '+
''+
''+
' var geocoder; '+
' var map; '+
' var trafficLayer;'+
' var bikeLayer;'+
' var markersArray = [];'+
''+
''+
' function initialize() { '+
' geocoder = new google.maps.Geocoder();'+
' var latlng = new google.maps.LatLng(40.714776,-74.019213); '+
' var myOptions = { '+
' zoom: 13, '+
' center: latlng, '+ …
Run Code Online (Sandbox Code Playgroud)