Announcement

Collapse
No announcement yet.

CPU Fenster in Delphi 7 öffnet sich immer beim Freigeben von MemoryStream?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • CPU Fenster in Delphi 7 öffnet sich immer beim Freigeben von MemoryStream?

    Hallo,

    jedes mal wenn ich versuche einen TMemoryStream zu schließen (im Entwicklermodus) öffnet sich das CPU Fenster von Delphi 7 in Windows XP Home. Unter Windows 98 macht er kein CPU Fenster auf.

    Kann mir bitte jemand einen Tip geben, den ich hier übersehen habe?

    <PRE>
    function Test(aDosFileName:String):Boolean;<BR>
    Var TempStream:TMemoryStream;<BR>
    A:Int64;<BR>
    begin<BR>
    Result:=LoadFromDosFile(aDosFileName);<BR>
    IF Not Result Then Exit;<BR>
    // Ab hier beginnt das einlesen<BR>
    FListe.Clear; // alle Daten löschen<BR>
    TempStream:=TMemoryStream.Create;<BR>
    try<BR>
    TempStream.LoadFromFile(aDosFileName);<BR>
    // Mache was mit den Daten //<BR>
    TempStream.Position:=0;<BR>
    FListe.LoadFromStream(TempStream);<BR>
    finally<BR>
    TempStream.Free; // Hier meldet sich unter Windows Home XP und Delphi 7 das CPU fenster<BR>
    end;<BR>
    </PRE>

  • #2
    Der Code sieht gut aus. Ich vermute daher das durch das try finally, und dem Unvermögen des neueren Debuggers an die richtige Stelle einer Exception zu springen, beim List.LoadFromStream() eine Execption ausgelösst wird. Der Debugger aber erst zum try finally stoppt. Man bekommt dann den Eindruck das irgendwas an der FALSCHEN Stelle fehlgeschlagen sein muß.<br>

    Also probier mal VOR dem Liste.LoadfromStream()
    <li>1. TempStream.Position := 0;
    <li>2. if List IS TStrings then ;
    <li>3. Punkt 2. in einen try except Block kapseln
    <li>4. eindeutig RICHTIGE Textzeilen in TempStream zu speichern

    Gruß Hage

    Comment

    Working...
    X