AGB  ·  Datenschutz  ·  Impressum  







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

Grafikformat prüfen

Ein Thema von josefkoller · begonnen am 30. Okt 2012 · letzter Beitrag vom 31. Okt 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 12:53
Ähhh, wieso nicht einfach so?
Canvas.StretchDraw(ClientRect, Image1.Picture.Graphic);


Aber warum willst du das Bild von einem TImage manuell auf die Form malen und läßt es nicht das Image machen?
(Align und Stretch)

Wird das TImage nur als "interner" Bild-Container genutzt?
Wenn ja, wieso?
Dafür ist TPicture da.
TImage ist für die Darstellung eines TPicture, was als "billiger" Container etwas übertrieben ist.
(Ich kann natürlich meinen Einkauf mit einem Tieflader heimbringen, selbst wenn ein Fiat Panda reichen würde)



Zitat:
Es kommt immer noch "Abstrakter Fehler".
Und wo? (schön das wird einen Debugger haben .. nur nutzen muß man den mal)

Sagt dir dein Compiler eigentlich nicht irgendwas vonwegen "Variable ico ist nicht initialisiert" ?
Du erstellst TIcon nicht immer, versuchst es aber immer freizugeben. Das ist grundsätzlich erstmal nicht schlimm, aber wenn man dann nichtmal diese Variavle initialisiert hat (z.B. nil), dann muß das Freigeben zwangsläufig knallen.
$2B or not $2B

Geändert von himitsu (31. Okt 2012 um 12:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#12

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 13:37
Klingt als ob eine als abstrakt deklarierte Methode der Basisklasse Deiner Klasse nicht in Deiner Klasse implementiert wäre.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
josefkoller

Registriert seit: 22. Okt 2012
49 Beiträge
 
#13

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 15:34
Hallo,

Ähhh, wieso nicht einfach so?
Canvas.StretchDraw(ClientRect, Image1.Picture.Graphic);


Aber warum willst du das Bild von einem TImage manuell auf die Form malen und läßt es nicht das Image machen?
(Align und Stretch)

Wird das TImage nur als "interner" Bild-Container genutzt?
Wenn ja, wieso?
Dafür ist TPicture da.
TImage ist für die Darstellung eines TPicture, was als "billiger" Container etwas übertrieben ist.
(Ich kann natürlich meinen Einkauf mit einem Tieflader heimbringen, selbst wenn ein Fiat Panda reichen würde)



Zitat:
Es kommt immer noch "Abstrakter Fehler".
Und wo? (schön das wird einen Debugger haben .. nur nutzen muß man den mal)

Sagt dir dein Compiler eigentlich nicht irgendwas vonwegen "Variable ico ist nicht initialisiert" ?
Du erstellst TIcon nicht immer, versuchst es aber immer freizugeben. Das ist grundsätzlich erstmal nicht schlimm, aber wenn man dann nichtmal diese Variavle initialisiert hat (z.B. nil), dann muß das Freigeben zwangsläufig knallen.
Wie ich schrieb, ich hab das nur mal eben schnell mit onpaint und Image1 probiert, weil ich zuerst dachte, der Fehler käme von der Malerei in meiner Komponente.

In der Komponente selber wird alles was erzeugt wird auch wieder freigegeben.

Danke auch für Deinen "hämisch" gemeinten Hinweis auf einen Debugger.

Du kannst den Debugger im Komponentencode setzen, wo Du willst, so findest Du in meinem Fall den Fehler nicht.

Danke trotzdem.

Josef
  Mit Zitat antworten Zitat
josefkoller

Registriert seit: 22. Okt 2012
49 Beiträge
 
#14

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 15:45
Hallo,

Klingt als ob eine als abstrakt deklarierte Methode der Basisklasse Deiner Klasse nicht in Deiner Klasse implementiert wäre.
//*****************************

type
TSysBtnClick = procedure (Sender: TObject; AName:string) of Object;

TGradientOrientation = (gsVertical, gsHorizontal,gsHorizontalNeon, gsVerticalNeon);
TCaptionAlignment = (caLeft, caCenter, caRight); //footerCaption
TPixelRec = packed record
case Boolean of
true: (Color: TColor);
false: (r, g, b, Reserved: Byte);
end;

TKFPanel = class;

TFormOptions = class(TPersistent)
private
FPanel:TKFPanel;

//***********************

Ich hab z.B. eine eigene Prozedur in meiner Komponente.

TSysBtnClick = procedure (Sender: TObject; AName:string) of Object;

.....

TKFPanel = class(TPanel)
private
{ Private declarations }
FonSysBtnClick : TSysBtnClick;
...
published
property onSysBtnClick:TSysBtnClick read FonSysBtnClick write FonSysBtnClick;
...
und die Zuweisung dann so:
....
if Assigned(FonSysBtnClick) then FonSysBtnClick(Self, 'SysBtnLeft');
....

Müßte doch auch stimmen. Ich hab aber auch diese Sachen rausgenommen. Immer das Gleiche. Das Package läßt sich kompilieren.

Nach dem Plazieren der Komponente auf einer Form und einem Klick auf den PorpertyEditor kommt wieder mein "Abstrakter Fehler".

Am Besten ich mach das Ding nochmal neu. Interessieren würde mich aber schon, was diesen Fehler auslöst.

Danke für die Hinweise.

Josef
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#15

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 16:59
Zitat:
Am Besten ich mach das Ding nochmal neu
Warum gleich aufgeben?
Hast Du die Komponente mal zur Laufzeit erzeugt, dann könntest Du einfach den Debugger nehmen ...
Ansonsten in Deinen Vorfahren schauen was rein als abstract deklariert ist und bei Dir kein passendes Override findet.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
josefkoller

Registriert seit: 22. Okt 2012
49 Beiträge
 
#16

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 17:55
Hallo,

ich trau es mir ja fast nicht zu sagen, aber der Fehler lag am Grafikformat.

Ich hab den "grafischen Eigenschaften" meiner Komponente verschiedene Formate zum Testen zugeordnet, weil ich eben auf der Suche nach einer Möglichkeit war, um verschiedene Formate auf dem Canvas darstellen zu können.

Alle hatten TPicture. Beim Rumprobieren hab ich dann bei einem Property TGraphic zugewiesen und vergessen, nach erfolglosem Test, es wieder auf TPicture zu stellen.

Dieses

fBackground:TGraphic war der Auslöser. Jetzt steht es wieder auf fBackground:TPicture.

Der "abstrakte Fehler" ist damit weg.

Danke für eure Geduld.

Josef
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 18:02
@josefkoller Wenn du deine Quelltexte in
Code:
[DELPHI]
procedure foo;
begin
  DoSomething;
end;
[/DELPHI]
einschließen würdest, dann bekämen wir nicht alle so einen Augenkrebs beim Anschauen.
Delphi-Quellcode:
procedure foo;
begin
  DoSomething;
end;
EDIT: Und bis zu 24h kannst du alle deine Beiträge noch bearbeiten ... um z.B. die fehlenden Tags zu ergänzen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#18

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 18:05
Schön, dass es jetzt klappt, nur ein Tipp für die Zukunft. Deine Quelltexte, es wäre schön wenn du sie in die richtigen Tags paceken könntest. Das wären
Code:
[DELPHI][/DELPHI]
von Hand eingegeben oder den Code markieren und auf den Helm mit dem Irokesenschnitt klicken. Das nur mal so am Rande.
  Mit Zitat antworten Zitat
josefkoller

Registriert seit: 22. Okt 2012
49 Beiträge
 
#19

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 20:24
Hallo,

Danke für die Hinweise.

Ich frag nicht oft, weil man die meisten Probleme mit Googeln lösen kann.

Wenn ich wieder Fragen hab, werd ich richtig zitieren. hab den "Helm gefunden.

Ciao

Josef
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#20

AW: Grafikformat prüfen

  Alt 31. Okt 2012, 20:59
Mit der Google-Erfahrung kennst du dann ja die Foren und hast dich wahrscheinlich ganz doll gewundert wieso bei den anderen Leuten der Code so schön formatiert ist und deiner nicht. Siehst du, man erfährt nicht alles über Google
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 12:19 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