Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Runtime Error (https://www.delphipraxis.net/30756-runtime-error.html)

day 28. Sep 2004 23:24


Runtime Error
 
Hallo

Ich habe folgendes Problem. Seit ich diesen Code abschnitt in meiner Applikation habe bekomme ich immer eine "Runtime error 216 at 00018008" wenn ich das programm beende.
Könnte es sein das da irgend ein speicherbereich nicht freigegeben wird????

Code:
              //Aktive Word Instanz holen
              GetActiveOleObject('Word.Application').QueryInterface(_Application,WordApp);

              //Bookmark durch Betrag ersetz
              EmptyParam := WordApp.Selection.Range;


              if (WordApp.ActiveDocument.Bookmarks.Exists(bookMark)) Then
              begin

                if(DM.OfferDetailView.FieldValues[TEXTMODULEPRICE_PRICE_FIELD] <> Null) Then
                  lPrice := DM.OfferDetailView.FieldValues[TEXTMODULEPRICE_PRICE_FIELD]
                else
                  lPrice := '0';
                Nme := bookMark;
                WordApp.ActiveDocument.Bookmarks.Item(Nme).Select;
                WordApp.Selection.TypeText(lPrice);
                WordApp.ActiveDocument.Bookmarks.Item(Nme).delete;
              end;
WordApp ist vom Type _Application. Komischerweise besitzt dieser Type kein Free.
jemand eine Ahnung woran es liegen könnte???

Mario 29. Sep 2004 07:04

Re: Runtime Error
 
Interfaces werden automatisch freigegeben. Das ist vielleicht erst mal wichtig zu wissen.

Delphi-Quellcode:
  EmptyParam := WordApp.Selection.Range;
Die Zeile ist eigentlich Quatsch. EmptyParam ist eine Variable, welche Delphi bereitstellt, damit nicht alle OLEVariant-Parameter übergeben werden müssen. Die Manipulation dieser Variable solltest Du tunlichst unterlassen und dann noch mal testen.

Ultimator 29. Sep 2004 12:47

Re: Runtime Error
 
Wenn du dein Programm aus der IDE heraus startest, kannst du im Menü "Suchen" den selbsterklärenden Menüpunkt "Laufzeitfehler" benutzen ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:56 Uhr.

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