Delphi 2005
Composants : TjvCaptionPanel, TWebbrowser, ScrollBox
Je créés dynamiquement dans une scrollbox, un jvCaptionPanel qui lui même recoit un WebBrowser.
Je gère mes actions et le problème survient lors de la destruction des composants.
EOSError, erreur système. code 5 : Accès refusé
Voici ma procédure de destruction des composants
J'ai essayé avec TOleControl().free, TControl.Free et WebCompo.Free, j'ai toujours une erreur au moment ou je detruis le jvCaptionPanel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 procedure DestroyItems(sName : String); var i,j : integer; webCompo,panelCompo : TControl; begin PanelCompo := TJvCaptionPanel(frmMain.ScrollBox1.FindComponent('jvcn' + sName)); try WebCompo := TWebbrowser(PanelCompo.FindComponent('web'+ sName)); TWebBrowser(webCompo).OnNavigateComplete2 := nil; TOleControl(WebCompo).Free; finally PanelCompo.Free; end; end;
Si quelqu'un voit d'où vient le problème ^^
Tant que j'y suis la procedure de construction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 procedure CreateItems(sName : string;lst : TStringList); var jvcnPanel : TjvCaptionPanel; WebB : TWebBrowser; Compo : TComponent; i : integer; begin jvcnPanel := TJvCaptionPanel.Create(frmMain.ScrollBox1); With jvcnPanel do begin Align := alTop; Buttons := [capRestore]; CaptionPosition := dpTop; Name := 'jvcn' + sName; OutlookLook := true; Height := 200; Parent := frmMain.ScrollBox1; Caption := sName; Resizable := False; Locked := True; Visible := True; end; Compo := TJvCaptionPanel(frmMain.ScrollBox1.findComponent('jvcn' + sName)); WebB := TWebBrowser.Create(Compo); WebB.align := alClient; WebB.Tag := 1; WebB.Visible := True; WebB.OnNavigateComplete2 := frmMain.WBNavigateComplete2; TControl(WebB).Parent := TWinControl(Compo); TControl(WebB).Name := 'web' + sName; end;
Partager