AGB  ·  Datenschutz  ·  Impressum  







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

Verständnisfrage zu Parameter

Ein Thema von Delbor · begonnen am 15. Feb 2019 · letzter Beitrag vom 15. Feb 2019
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Verständnisfrage zu Parameter

  Alt 15. Feb 2019, 14:45
Delphi-Version: 5
Hi zusammen

Ich hatte folgendes Konstrukt:
Delphi-Quellcode:
procedure TPdfScanFrame.TwainTwainAcquire(Sender: TObject; const Index: Integer;
  Image: TBitmap; var Cancel: Boolean);
    var XName : String; JpImage: TJpegImage;
begin
  XName := Sender.ClassName;
  FWidth := Image.Width;
  FHeight := Image.Height;
Diese Prozedur feuert schliesslich ein Event, das von einem andern Frame behandelt wird. Das führt dazu, dass ich die Variable Image weiterreiche - und irgendwann war diese Variable nicht mehr vom Typ TBitmap, sondern TImage...
Klar: mein dämlicher Fehler- Der dann aber auch dazu führt, sprechendere Namen zu verwenden wie zum Beispiel ScannedBitmap anstelle von Image. Also habe ich obige Prozedur etwas umgeschrieben:

Delphi-Quellcode:
procedure TPdfScanFrame.TwainTwainAcquire(Sender: TObject; const Index: Integer;
  ScannedBitmap: TBitmap; var Cancel: Boolean);
    var XName : String; JpImage: TJpegImage;
// ScannedBitmap : TBitmap;
begin
// ScannedBitmap := TBitmap.Create;
// ScannedBitmap.Assign(Image);
  XName := Sender.ClassName;
  FWidth := ScannedBitmap.Width;
  FHeight := Image.Height;
Wie man sieht, wollte ich erst ein neues Bitmap 'ScannedBitmap' erstellen und diesem das übergebene Image-Bitmap zuweisen, erinnerte mich aber dann, dass Parameter nicht gleich heissen müssen, aber zwingend an gleicher Position in der Parameterliste sein müssen. Also benannte ich den Parameter Image in ScannedBitmap um.
Die folge ist, dass in der Zuweisung

FWidth := ScannedBitmap.Width;

der Bezeichner ScannedBitmap als unbekannt markiert wird, obwohl er in der Parameterliste enthalten ist. Muss ich an dieser Stelle tatsächlich ein neues Bitmap erstellen?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Verständnisfrage zu Parameter

  Alt 15. Feb 2019, 15:20
Du hast die Parameterliste auch im Interface-Teil angepasst?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Verständnisfrage zu Parameter

  Alt 15. Feb 2019, 15:20
Hallo,
ist das wirklich Copy&Paste aus deinem Quellcode?
Das sieht zumindestens richtig aus.
Hast du auch das Interface angepasst?

Mach mal testweise als Parameter B1 statt ScannedBitmap.
Heiko
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Verständnisfrage zu Parameter

  Alt 15. Feb 2019, 15:35
Müsste nicht eher
Code:
FHeight := Image.Height;
als Fehler erkannt werden?
Ralph
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Verständnisfrage zu Parameter

  Alt 15. Feb 2019, 15:44
Hi zusammen

Zitat:
Hast du auch das Interface angepasst?
Ich hätte zumindest geschworen (und das wäre glatter Meineid gewesen...), dass ichs getan habe, weil ich mich wiedermal mit Events befasse und mich da alles andere als Sattelfest fühle. Allerdings machten mir die diesmal nicht die kleinsten Probleme.

Danke für eure schnellen Antworten!

Müsste nicht eher
Code:
FHeight := Image.Height;
als Fehler erkannt werden?
Die Zeile darüber war mir auch ohne Kompilierungsversuch markiert worden. Diese hingegen wäre erst bei einem Versuch erkannt worden. Natürlich sind die jetzt angepasst.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  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 13:27 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