Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi MSHTML_tlb löst Fehlermeldung aus (https://www.delphipraxis.net/107680-mshtml_tlb-loest-fehlermeldung-aus.html)

moperswings 31. Jan 2008 16:43


MSHTML_tlb löst Fehlermeldung aus
 
Hallo,

ich habe aus dem SwissDelphiCenter eine Funktion zur Berechnung der Verzeichnisgrösse.
Jetzt wollte ich noch etwas mit Web-Technik machen und füge die mshtml_tlb ein ...

Delphi-Quellcode:
implementation
uses MSHTML_tlb;
{$R *.dfm}

function GetDirSize(dirx: string; subdirx: Boolean): Longint;
var
        rec_: TSearchRec;
        foundx: Integer;
begin
        Result := 0;
        if dirx[Length(dirx)] <> '\' then dirx := dirx + '\';
        foundx := FindFirst(dirx + '*.*', faAnyFile, rec_);
        while foundx = 0 do
        begin
          Inc(Result, rec_.Size);
          if (rec_.Attr and faDirectory > 0) and
          (rec_.Name[1] <> '.') and (subdirx = True) then // hier kommt die 1. Fehlermeldung
          Inc(Result, GetDirSize(dirx + rec_.Name, True));
          foundx := FindNext(rec_);
        end;
        FindClose(rec_);
end;
und bekomme für jede Zeile, in der die Funktion vorkommt, diese Meldung:
Delphi-Quellcode:
[Fehler] Unit1.pas(45): Inkompatible Typen: 'Boolean' und 'Integer'
Nehme ich die mshtml_tlb raus, läuft alles!

Hat jemand eine Idee?

mkinzler 31. Jan 2008 16:50

Re: MSHTML_tlb löst Fehlermeldung aus
 
rec_.Attr ist kein Boolean
BTW.
Delphi-Quellcode:
subdirx = True
kannst du zu
Delphi-Quellcode:
subdirx
kürzen

peschai 31. Jan 2008 16:58

Re: MSHTML_tlb löst Fehlermeldung aus
 
@mkinzler
Delphi-Quellcode:
rec_.Attr and faDirectory > 0
ist ok.

@moperswings
Ich vermute, das durch einbinden von der unit eventuell TSearchRec redefiniert wird.
Versuche mal "SysUtils.TSearchRec"

moperswings 31. Jan 2008 17:09

Re: MSHTML_tlb löst Fehlermeldung aus
 
SysUtils.TSearchRec ändert nichts :(

marabu 31. Jan 2008 17:15

Re: MSHTML_tlb löst Fehlermeldung aus
 
Hallo,

Klarheit für das Überdeckungsproblem müsste eigentlich schon Code-Insight bringen.

Hier noch eine Alternative zu GetDirSize: FolderSize()

Grüße vom marabu

peschai 1. Feb 2008 05:47

Re: MSHTML_tlb löst Fehlermeldung aus
 
Hallo

Also ich habe mir jetz mal die Mühe gemacht und von delphi eine "MSHTML_tlb" erzuegen lassen (Komponenten-ActiceXImportieren...)

Oh mein Gott!
Es wurde ein 12MByte große MSHTML_tlb.pas erzeugt, welche die DelphiIDE an den Rand des benutzbaren bringt!

Mein Tip, versuch ohne das auszukommen, wenn es geht ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.

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