AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Format - Fehler die die Welt nicht braucht

Ein Thema von p80286 · begonnen am 8. Aug 2014 · letzter Beitrag vom 8. Aug 2014
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

Format - Fehler die die Welt nicht braucht

  Alt 8. Aug 2014, 11:27
Delphi-Version: 2006
Hallo zusammen,
diese Zeile produziert einen RTE ".. %d ungültiger Formatbezeichner.." (oder s.ä.)
Memo1.Lines.Add(format(' FrameNo.: %d of %d',[frx,WB.OleObject.document.FRAMES.length-1])); nach etwas verständnislosem herumprobieren, ist das jetzt mein Workaround.
Memo1.Lines.Add(format(' FrameNo.: %d of %s',[frx,inttostr(WB.OleObject.document.FRAMES.length-1)])); Da fühl ich mich doch etwas auf den Arm genommen.
Warum zickt hier Format so herum, denn in der OH steht nichts von einer Beschränkung.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Format - Fehler die die Welt nicht braucht

  Alt 8. Aug 2014, 11:39
Ich habe diese OLE-Geschichte nie verstanden, aber Format nimmt als Parameter ein "Array of const", also ein "Array of TVarRec". Was ist den wenn du es (inkl. "-1") n eine TVarRec-Variable steckst? Ich könnte mir vorstellen dass er es auf eine Gleitkommazahl castet.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Format - Fehler die die Welt nicht braucht

  Alt 8. Aug 2014, 12:19
Hallo zusammen,
diese Zeile produziert einen RTE ".. %d ungültiger Formatbezeichner.." (oder s.ä.)
Memo1.Lines.Add(format(' FrameNo.: %d of %d',[frx,WB.OleObject.document.FRAMES.length-1])); nach etwas verständnislosem herumprobieren, ist das jetzt mein Workaround.
Memo1.Lines.Add(format(' FrameNo.: %d of %s',[frx,inttostr(WB.OleObject.document.FRAMES.length-1)])); Da fühl ich mich doch etwas auf den Arm genommen.
Warum zickt hier Format so herum, denn in der OH steht nichts von einer Beschränkung.
Steht doch drin. %d ist für Integerwerte.
Dein Olevariant (.document.Frames.length) liefert ein OleVariant.
Und mit OleVariant kann der %d-Parameter nix anfangen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Format - Fehler die die Welt nicht braucht

  Alt 8. Aug 2014, 12:20
In dem Fall wäre ein Round oder ein Cast auf Integer eventuell auch zielführend.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Format - Fehler die die Welt nicht braucht

  Alt 8. Aug 2014, 13:30

Oh Mann, ganz schön blind (OLEVariant). Da das inttostr nicht gemeckert hat, hab ich an soetwas natürlich garnicht gedacht.

Danke!

K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: Format - Fehler die die Welt nicht braucht

  Alt 8. Aug 2014, 15:19
Ich hatte auch an sowas gedacht, nahm aber an, dass WB.OleObject.document.FRAMES.length-1 (man beachte die '-1') einen Integer liefert. Wäre ja naheliegend.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Format - Fehler die die Welt nicht braucht

  Alt 8. Aug 2014, 15:32
Da es sich um eine ActiveX-Objekt handelt, wird ein OLEVariant zurückgeliefert.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: Format - Fehler die die Welt nicht braucht

  Alt 8. Aug 2014, 15:49
Ich hatte auch an sowas gedacht, nahm aber an, dass WB.OleObject.document.FRAMES.length-1 (man beachte die '-1') einen Integer liefert. Wäre ja naheliegend.
Oder einen Float, was hier wohl passiert ist.
$2B or not $2B
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: Format - Fehler die die Welt nicht braucht

  Alt 8. Aug 2014, 16:15
Achso. Blödes Ding.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 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