dll中动态添加的flash.ocx如何释放?
- Delphi(Pascal) code
var flh: TShockwaveFlash;begin flh := TShockwaveFlash.Create(pnlInfo); with flh do begin Name := 'flsh' + IntToStr(lblNum); Left := AX; Top := AY; Height := 100; Width := 100; Parent := pnlInfo; Movie := MovieName; end;end;
这样创建后
直接Free后,关闭窗体后,提示错误,
- Delphi(Pascal) code
initialization CoInitialize(nil); OleInitialize(nil);finalization OleUninitialize; CoUninitialize;
这样也提示
[解决办法]
- Delphi(Pascal) code
1.改成在代码中创建和用完释放,如:try flh := TShockwaveFlash.Create(pnlInfo); ...finallly flh.free;end;2.改成在初始化时创建和释放,如:initialization flh := TShockwaveFlash.Create(pnlInfo);finalization flh.free;