OpBitmap mit Formaten Version 1.0

Zur Vorstellung von Komponenten und Units für Lazarus
Antworten
Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

OpBitmap mit Formaten Version 1.0

Beitrag von theo »

So, jetzt habe ich genug ;-)
Man könnte leicht noch weitere Monate damit verbringen, aber ich finde es reicht für den Moment.

Tata!! OpBitmap mit Image-Formaten

http://www.theo.ch/lazarus/opbitmap1_2.zip
Update:
http://www.theo.ch/lazarus/opbitmap1_3.zip

Keine Installation nötig. Einfach auspacken und die Demo kompilieren.

Die Demo ist absichtlich einfach gehalten, damit man die Basis-Anwendung von OPBitmap mal verstehen kann.

Viel Spass!
[hr]
So Mädels, jetzt hab ich das gemeckere dicke. ;-)
Neue Version mit in die LCL integrierten opbitmapformats.

http://www.theo.ch/lazarus/opbitmap1_4.zip

Update 27.3.07
http://www.theo.ch/lazarus/opbitmap1_5.zip

--------------------------------------------------
Update 1.9.07
http://www.theo.ch/lazarus/opbitmap1_6.zip

Anpassungen and Marc's Bitmap rewrite. Läuft ab ca SVN 11897 und hoffentlich auch für 0.9.24
Achtung: Diese Version is nicht rückwärtskompatibel zu 0.9.22
Wesentliche Änderungen: Totaler rewrite von lazbridge.pas.

Bitte v.a. auf Windows testen. Merci!

--------------------------------------------------
Update 3.7.08
http://www.theo.ch/lazarus/opbitmap1_7.zip

Wieder Anpassung an Marc's Bitmap rewrite. Läuft auf Laz SVN von heute.

Einfach Package -> Package Dateien das "opbitmapforlaz.lpk" einmal öffnen und dann jeweils im Projekt -> Projektinspektor als Abhängigkeit hinzufügen.

Ein paar Sachen sind besser geworden:
Man kann nun ganz normal speichern auch Tiff, Gif etc, einfach mit
Image1.Picture.SaveToFile(SavePictureDialog1.FileName);

Siehe "lclintegrationdemo" (hat ein paar überflüssige Deklarationen in "btnSaveClick" sehe ich grad. Macht aber nix. Naja, beim nächsten Update...)

Die Transparenz scheint auch etwas williger zu sein.

Ausserdem ist nun noch opimglib im Package, damit kann man frei rotieren, floodfill mit Toleranz und solche Dinge machen.
Viel Spass!

--------------------------------------------------
Update 5.2.09
Auf vielfachen Wunsch ;-) hier eine 64bit Version von OpBitmap
http://www.theo.ch/lazarus/opbitmap64.zip

opbitmapforlazcompat.lpk installieren.

OpBitmap Funktionen müssten klappen. Die Abhängikeit von der GraphicEX ist weg.
Deshalb gibt es nur noch BMP, JPEG, PNG, GIF. Also Quasi ein Web-Package.

Habe einiges umprogrammieren müssen heute abend, v.a. im Mime Bereich und hatte kaum Zeit zum testen. Sieht aber OK aus.
Bitte testen.
Zuletzt geändert von theo am Do 5. Feb 2009, 23:22, insgesamt 5-mal geändert.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Mit dem fpc 2.1.1 gibts ein paar Probeme, mit 2.0.4 hab ichs nicht probiert bisher.
In der jpeg unit muss mode objfpc gesetzt werden.
In GraphicEx nimmst du progress aus der unit Graphics und er versucht TProgressState aus deiner unit zu benutzen fpc meckert dann natürlich an das die beiden Typen nicht kompatibel sind.

Bis aus solche kleinigkeiten macht opbitmap aber wirklich spass :)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Oh mann ich überleg gerade ob ichs lasse es ist ein schöner ansatz aber zusammen mit Graphics im Moment nicht betreibbar. Weil du so viele Sachen neu definierst und dann auch noch anders als original. Ich bin gerade an TPixelformat dran. Dein Pixelformat unterscheidet sich von TPixelformat heisst aber genauso und das bricht einem bei der menge an benutzungen echt das genick. Ich bin jetzt sein 20 min dran aus TPixelformat ein TOPPixelformat zu machen damit ich graphics noch in meinen projekten einsetzten kann neben opbitmap. Verwendest du das nur in Kommandozeilenprogrammen ?!
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:Oh mann ich überleg gerade ob ichs lasse es ist ein schöner ansatz aber zusammen mit Graphics im Moment nicht betreibbar. Weil du so viele Sachen neu definierst und dann auch noch anders als original. Ich bin gerade an TPixelformat dran. Dein Pixelformat unterscheidet sich von TPixelformat heisst aber genauso und das bricht einem bei der menge an benutzungen echt das genick. Ich bin jetzt sein 20 min dran aus TPixelformat ein TOPPixelformat zu machen damit ich graphics noch in meinen projekten einsetzten kann neben opbitmap. Verwendest du das nur in Kommandozeilenprogrammen ?!


Das kommt auf die Reihenfolge in der uses Klausel drauf an.
Wenn du opbitmap.pas vor Graphics.pas einbindest, dann sind by default die Graphics.pas Varianten aktiv. (sowas wie NameSpace)
Wenn du dann wirklich ein OpBitmap Pixelformat brauchst, schreib einfach opbitmap.pf32bit .
oder umgekehrt, wenn du uses ...Graphics, opbitmap... hast dann schreibst du
Graphics.pf32bit.
Bestehender Code sollte aber ohne weiteres compilieren, mit der Reihenfolge:
uses ...opbitmap, Graphics...
Zuletzt geändert von theo am Fr 2. Mär 2007, 13:13, insgesamt 2-mal geändert.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:In GraphicEx nimmst du progress aus der unit Graphics und er versucht TProgressState aus deiner unit zu benutzen fpc meckert dann natürlich an das die beiden Typen nicht kompatibel sind.


Eigentlich sollte die Graphics.pas by default nicht eingebunden sein.
Wo siehst du das? Wäre dann ein Bug....
Du kannst das experimentell einschalten per Compiler Switch in opbitmap.pas.
{$DEFINE IMPORTTGRAPHIC}
Das sollte aber nicht nötig sein. Dieser Switch ist nur als "Zukunftsvariante" da, wenn man das Ding enger an die LCL binden möchte. Ist aber nicht wirklich zu Ende gedacht.
Es geht auch nicht ohne Anpassungen, da selbst K3 und D6 verschiedene Definitionen der Progress Funktion haben.

Christian hat geschrieben:Bis aus solche kleinigkeiten macht opbitmap aber wirklich spass :)


:D

Ich helf dir gerne. Gebe auch zu, dass es am Anfang etwas umdenken erfordert. Vielleicht hast du auch bloss das Konzept nicht ganz intus (logischerweise) und machst daher vielleicht Sachen komplizierter als nötig.
VTV muss man ja auch erst mal kapieren ;-)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nö, ich denk ich habs schon verstanden aber ich hab nirgends eine implementation vom Progress gefunden und das wird in GraphicEx in jeder 10. zeile benutzt. Also muss ich Graphics in die uses von GraphicEx mit aufnehmen wie die das compiliert bekommen hast ist mir n Rätsel. Sobald ich aber Graphics in die uses von GraphicEx aufnehme hagelts Fehler weil deine eigens definierten Formatdefinitionen z.b. TPixelFormat inkompatibel zu denen in Graphics.pp sind ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben: Also muss ich Graphics in die uses von GraphicEx mit aufnehmen wie die das compiliert bekommen hast ist mir n Rätsel. Sobald ich aber Graphics in die uses von GraphicEx aufnehme hagelts Fehler weil deine eigens definierten Formatdefinitionen z.b. TPixelFormat inkompatibel zu denen in Graphics.pp sind ...


Wieso das denn?
Hast du etwa {_$DEFINE IMPORTTGRAPHIC} einkommentiert?
Das ist wie gesagt experimentell.
opbitmap.pas enhält eine eigene Dummy-Progress Procedure, die aber nur dann drin ist wenn IMPORTTGRAPHIC nicht definiert ist.

Code: Alles auswählen

{$IFNDEF IMPORTTGRAPHIC}
    procedure Progress(Sender: TObject; Stage: TProgressStage; PercentDone: Byte; RedrawNow: Boolean; const R: TRect;
      const Msg: string {; var DoContinue: Boolean});
{$ENDIF}


Durch die Verbung von TCanvasOpBitmap in GraphicEx:

// This is the general base class for all image types implemented in GraphicEx.
// It contains some generally used class/data.
TGraphicExGraphic = class(TCanvasOPBitmap)

Muss diese Procedure erreichbar sein, auch ohne Graphics unit.

Mit auskommentiertem {_$DEFINE IMPORTTGRAPHIC} kompiliert's doch, oder?
Oder kompilert bei dir die Demo hier http://www.theo.ch/lazarus/opbitmap1_2.zip
etwa auch nicht?

GraphicEx ist im Moment nicht mit dem IMPORTTGRAPHIC Modus kompatibel.
Sonst müsste ich je eine andere Progress Procedure für VCL, CLX und LCL aufrufen.
Zuletzt geändert von theo am Fr 2. Mär 2007, 21:09, insgesamt 1-mal geändert.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Muss ich nochmal schaun aber ich habs eigentlich mit beiden Varianten probiert.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:Muss ich nochmal schaun aber ich habs eigentlich mit beiden Varianten probiert.


Also eigentlich müsste die Demo ohne weiters kompilieren.
Lad sich doch nochmal runter, leg alles in ein Verzeichnis und kompilierte die Demo.
Der Pfad zu den libs ist in der lpi bereits gesetzt. Wenn du nichts in der IDE rumschraubst, z.B. delphi mode, dann müsste das glatt laufen.
Es kann sein, dass wenn du die Libs anfänglich im Mode Delphi (in der IDE eingestellt) kompilierst, mit einzelnen Libs was schiefgeht. Das werde ich mir noch ansehen.
Aber so wie's ist müsste es klappen.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Das wird zumindest einen teil meiner probleme verursachen ich musste in der jpeg unit mode objfpc setzen damit sie compiliert kann sein das ich im audio x mode delphi gesetzt hatte ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ja, deine Demo compiliert nur in realen projekten gehts nicht hrhr :)
Mussz zumindest mal noch mode objfpc und h+ hinzufügen hab delphi mode rausgenommen jetzt fängt er an wegen ansistrings rumzuzicken

Hab an keinen files was geändert so wie sie in der 1_1 von dir kamen :


D:\lkomponenten\opbitmap\GraphicEx.pas(858,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(859,22) Hint: Local variable "FileID" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(862,43) Hint: Local variable "FileHeader" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(871,83) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(872,85) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(873,81) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(886,33) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(890,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(908,20) Hint: Local variable "FileID" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(912,35) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(979,31) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(980,41) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1007,9) Hint: Local variable "RawBuffer" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1102,35) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1109,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(1113,41) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1161,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(1163,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(1165,39) Warning: Mixing signed expressions and longwords gives a 64bit result
D:\lkomponenten\opbitmap\GraphicEx.pas(1165,46) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1178,64) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1179,41) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(1174,37) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1192,64) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1193,41) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(1188,37) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1202,50) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1203,37) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(1200,33) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1209,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(1233,46) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1238,38) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1241,44) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1252,54) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1575,31) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1577,48) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1646,26) Hint: Local variable "Index" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1669,37) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1672,31) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1660,44) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1702,29) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1723,26) Hint: Local variable "Index" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1737,44) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1803,26) Hint: Local variable "Index" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1817,44) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1866,72) Hint: Local variable "FloatNominator" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1867,76) Hint: Local variable "FloatDenominator" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1873,39) Hint: use DIV instead to get an integer result
D:\lkomponenten\opbitmap\GraphicEx.pas(1873,57) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1877,68) Hint: Local variable "IntNominator" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1878,72) Hint: Local variable "IntDenominator" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1884,37) Hint: use DIV instead to get an integer result
D:\lkomponenten\opbitmap\GraphicEx.pas(1884,53) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1908,26) Hint: Local variable "Index" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1927,70) Hint: Local variable "FloatNominator" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1928,74) Hint: Local variable "FloatDenominator" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1934,38) Hint: use DIV instead to get an integer result
D:\lkomponenten\opbitmap\GraphicEx.pas(1934,56) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1939,66) Hint: Local variable "IntNominator" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1940,70) Hint: Local variable "IntDenominator" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1946,36) Hint: use DIV instead to get an integer result
D:\lkomponenten\opbitmap\GraphicEx.pas(1946,52) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(1963,30) Hint: Local variable "Index" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(1998,30) Hint: Local variable "Index" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2130,35) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2139,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2143,52) Hint: Local variable "IFDCount" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2153,58) Hint: Local variable "Offsets" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2154,64) Hint: Local variable "ByteCounts" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2216,63) Hint: Local variable "StripSize" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2303,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2305,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2316,9) Hint: Local variable "Buffer" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2322,13) Hint: Local variable "EncodedData" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2344,71) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2350,37) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2361,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2417,46) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2434,54) Hint: Local variable "IFDCount" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2468,62) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2471,70) Hint: Local variable "LocalBitsPerSample" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2473,84) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2481,65) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2483,63) Hint: Local variable "ExtraSamples" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2501,54) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2504,54) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2598,42) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2599,42) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2651,31) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2653,48) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2670,44) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2768,29) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2772,41) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2804,35) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2811,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2813,42) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2840,11) Hint: Local variable "LineBuffer" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2860,42) Hint: Local variable "Color16" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2861,67) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2862,69) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2863,68) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2877,25) Warning: Mixing signed expressions and longwords gives a 64bit result
D:\lkomponenten\opbitmap\GraphicEx.pas(2877,51) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2878,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2880,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2893,39) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2888,34) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2913,41) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2905,36) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(2922,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(2937,39) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(2970,52) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3008,28) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3057,26) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3058,28) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3059,27) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3093,28) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3095,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3105,69) Hint: Local variable "WriteLength" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(3108,35) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3122,33) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3127,28) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3168,29) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3172,32) Warning: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(3211,38) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3214,35) Hint: Local variable "Marker" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(3223,46) Hint: Local variable "PCXPalette" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(3259,35) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3265,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3267,45) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3309,9) Hint: Local variable "DecodeBuffer" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(3311,9) Hint: Local variable "RawBuffer" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(3329,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3331,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3381,39) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3392,37) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3339,32) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3409,39) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3400,34) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3422,39) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3416,34) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3429,30) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3445,39) Hint: Local variable "Header" does not seem to be initialized
D:\lkomponenten\opbitmap\GraphicEx.pas(3455,56) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3495,29) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3532,35) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3542,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3581,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3593,36) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3596,37) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3607,34) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3609,36) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3621,39) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3623,39) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3625,39) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3633,41) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3635,41) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3637,41) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3639,76) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3646,43) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3648,43) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3650,43) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
graphic.inc(63,20) Hint: Found declaration: TGraphic.Progress(TObject, TProgressStage, Byte, Boolean,const RECT,const AnsiString)
D:\lkomponenten\opbitmap\GraphicEx.pas(3659,49) Hint: Type size mismatch, possible loss of data / range check error
D:\lkomponenten\opbitmap\GraphicEx.pas(3659,35) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"
D:\lkomponenten\opbitmap\GraphicEx.pas(3659,35) Fatal: There were 50 errors compiling module, stopping
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:Ja, deine Demo compiliert nur in realen projekten gehts nicht hrhr :)

Immerhin etwas! ;-)
Christian hat geschrieben:Mussz zumindest mal noch mode objfpc und h+ hinzufügen hab delphi mode rausgenommen jetzt fängt er an wegen ansistrings rumzuzicken

Hab an keinen files was geändert so wie sie in der 1_1 von dir kamen :

D:\lkomponenten\opbitmap\GraphicEx.pas(858,32) Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"



Das mit dem Main-Mode delphi muss ich noch fixieren. D.h. in allen Units explizit den Modus setzen.
Warum er allerdings in GraphicEx die Unit Graphics überhaupt kennt, ist mir noch ein Rätsel.
Könnte das von irgendwelchen Anforderungen (siehe Projekt inspektor) abhängig sein?

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Also so schlimm kann's nicht sein.
Wenn ich in jpegencoder {$MODE objfpc}{$H+} setze, wird alles durchkompiliert.
Auch in Delphi mode aber auch in ObjFPC mode (IDE).

Ich habe auch mal experimentell noch Anforderungen von JPEGForLazarus und ImagesforLazarus eingehängt. Das scheint aber nicht zu stören.

Was wäre denn an deinem Projekt noch speziell? Bzw. wie kann ich dein Problem nachstellen?

Übrigens: Zur Sicherheit, wenn du was an den Modi änderst immer "Alles neu Erstellen", sonst kann's seltsame Effekte geben.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Mini update:

http://www.theo.ch/lazarus/opbitmap1_2.zip

- Console Demo
- Sollte nun "aus dem Stand" auch in IDE Mode Delphi kompilieren.
- Winzige Bugfixes.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

@Christian:
Noch zu deiner Fehlermeldung oben:
Error: Incompatible type for arg no. 2: Got "OPBITMAP.TProgressStage", expected "GRAPHICS.TProgressStage"

Das passiert nur, wenn du in opbitmap IMPORTTGRAPHIC definierst oder sonst hast du noch Graphics in die uses von GrapicEx reingeschrieben. Ansonsten kann der Compiler gar nicht auf diese Idee kommen.

Lade mal die letzte Version runter, lösch deine Version und mach 'nen neuen Build.
Bin fast sicher, dass das klappt.
Und immer schön: "Alles neu Erstellen", mit diesen Compiler Switches ;-)

Antworten