Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar (https://www.delphipraxis.net/167659-twebbrowser-scrollbar-problem-zugriffsverletzung-beim-entfernen-der-scrollbar.html)

Premaider 11. Apr 2012 17:48

TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
Hey Leute ich habe schon diverse Methoden probiert, aber immer wenn ich das Programm dann starte kommt ein Error von wegen "Zugriffsverletzung". Kann es sein dass es daran leigt, dass ich Delphi7 habe ? Könntet ihr mir eine Methode vorschlagen die bei Delphi7 funktioniert ? Und falls man noch irgendwelche Units einbinden muss bitte sagt mir das auch ich kenne mich noch nicht so aus.

LG Premaider :D

DeddyH 11. Apr 2012 17:50

AW: TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
Findest Du nicht, dass es hilfreich wäre, uns zu sagen, was Du überhaupt tust?

Premaider 11. Apr 2012 17:52

AW: TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
Delphi-Quellcode:
WebBrowser1.OleObject.Document.Body.Style.Overflow X := 'hidden';
WebBrowser1.OleObject.Document.Body.Style.Overflow Y := 'hidden';
Auch egal zu welchem ereigniss beim WebBrowser ich das packe. Ich bekomme eine Zugriffsverletzung :(

Bummi 11. Apr 2012 17:59

AW: TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
Delphi-Quellcode:
procedure TWebbrowserKeeperF.WebBrowserSet3DBorderStyle(bValue: Boolean);
var
  StrBorderStyle: AnsiString;
  tmpElement,
  tmpDocument,
  Element,
  Document : OleVariant;
begin
  if Assigned(WB) then begin
  try
    try
      Document := WB.OleObject.Document;
      if Assigned(TVarData(Document).VPointer) then begin // (varType(Document) = varDispatch) and not VarIsEmpty(Document) and not VarIsNull(Document) then begin
        Element := Document.Body;
        if Assigned(TVarData(Element).VPointer) then // and (varType(Element) = varDispatch) and not VarIsEmpty(Element) and not VarIsNull(Element)
        begin
          case bValue of
            False: StrBorderStyle := 'none';
            True: StrBorderStyle := '';
          end;
          Element.Style.BorderStyle := StrBorderStyle;
          Element.Style.overflowX  := 'auto'; // horizontale Scrollbar nur bei Bedarf einblenden
          Element.Style.overflowY  := 'auto'; // vertikale Scrollbar nur bei Bedarf einblenden
        end;                                  // (mögliche Werte:
      end;                                    // 'visible' Default. No scroll bar. Display is clipped to visible area.
    except                                    // 'scroll' Scroll bar always visible - whether required or not.
    end;                                      // 'hidden' No scroll bar. Content outside of visible area is hidden.
  finally                                     // 'auto' Content is clipped and scroll bar is displayed if required.)
    Element := tmpElement;
    Document := tmpDocument;
  end;
  end;
end;

Premaider 11. Apr 2012 18:03

AW: TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
Zitat:

Zitat von Bummi (Beitrag 1161320)
Delphi-Quellcode:
procedure TWebbrowserKeeperF.WebBrowserSet3DBorderStyle(bValue: Boolean);
var
  StrBorderStyle: AnsiString;
  tmpElement,
  tmpDocument,
  Element,
  Document : OleVariant;
begin
  if Assigned(WB) then begin
  try
    try
      Document := WB.OleObject.Document;
      if Assigned(TVarData(Document).VPointer) then begin // (varType(Document) = varDispatch) and not VarIsEmpty(Document) and not VarIsNull(Document) then begin
        Element := Document.Body;
        if Assigned(TVarData(Element).VPointer) then // and (varType(Element) = varDispatch) and not VarIsEmpty(Element) and not VarIsNull(Element)
        begin
          case bValue of
            False: StrBorderStyle := 'none';
            True: StrBorderStyle := '';
          end;
          Element.Style.BorderStyle := StrBorderStyle;
          Element.Style.overflowX  := 'auto'; // horizontale Scrollbar nur bei Bedarf einblenden
          Element.Style.overflowY  := 'auto'; // vertikale Scrollbar nur bei Bedarf einblenden
        end;                                  // (mögliche Werte:
      end;                                    // 'visible' Default. No scroll bar. Display is clipped to visible area.
    except                                    // 'scroll' Scroll bar always visible - whether required or not.
    end;                                      // 'hidden' No scroll bar. Content outside of visible area is hidden.
  finally                                     // 'auto' Content is clipped and scroll bar is displayed if required.)
    Element := tmpElement;
    Document := tmpDocument;
  end;
  end;
end;

Wenn ich diesen Code einfüge kommen folgende Fehler.

Delphi-Quellcode:
[Fehler] Unit1.pas(48): ';' erwartet, aber '.' gefunden
[Fehler] Unit1.pas(56): Undefinierter Bezeichner: 'WB'
[Fehler] Unit1.pas(59): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(59): Anweisung erforderlich, aber Ausdruck vom Typ 'OleVariant' gefunden
[Fehler] Unit1.pas(64): Undefinierter Bezeichner: 'bValue'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

Bummi 11. Apr 2012 18:08

AW: TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
da wo TWebbrowserKeeperF. sstehr wird bei Dir wahrscheinlich Form1. stehen müssen
WB heißt bei Dir wahrscheinlich Webbrowser1

Der Code war eh nicht für Copy&Paste gedacht, sondern zum spicken, vor allem auf die Stellen mit Assigned

Premaider 11. Apr 2012 18:14

AW: TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
Da ich aber eigendlich ein blutiger Anfäger bin kann ich aus dem Code kaum was "rausspicken".

Habe alles ersetzt und weiterhin diese Fehler:
Delphi-Quellcode:
[Fehler] Unit1.pas(48): Undefinierter Bezeichner: 'WebBrowserSet3DBorderStyle'
[Fehler] Unit1.pas(48): ';' erwartet, aber '(' gefunden
[Fehler] Unit1.pas(56): Inkompatible Typen
[Fehler] Unit1.pas(59): Methodenbezeichner erwartet
[Fehler] Unit1.pas(59): Anweisung erforderlich, aber Ausdruck vom Typ 'OleVariant' gefunden
[Fehler] Unit1.pas(64): Undefinierter Bezeichner: 'bValue'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

DeddyH 11. Apr 2012 18:21

AW: TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
Sry, aber so wird das nix. Du solltest zumindest erkennen, was der Methodenname ist.

Premaider 11. Apr 2012 18:27

AW: TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
Das ist doch
WebBrowserSet3DBorderStyle
oder bin ich jetzt zu dumm hierfür ? :cry:

Thom 11. Apr 2012 20:19

AW: TWebBrowser Scrollbar Problem - Zugriffsverletzung beim entfernen der Scrollbar
 
Willst du die (vertikale) Scrollbar des Browser-ActiveX ausblenden, geht das über das IDocHostUIHandler-Interface.
Delphi-Quellcode:
function TDocHostUIHandler.GetHostInfo(var pInfo: TDocHostUIInfo): HResult;
begin
  ZeroMemory(@pInfo,SizeOf(TDocHostUIInfo));
  pInfo.cbSize:=SizeOf(TDocHostUIInfo);
  pInfo.dwFlags:=DOCHOSTUIFLAG_SCROLL_NO or DOCHOSTUIFLAG_NO3DBORDER;
  Result:=S_OK;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz