Zeichnen TImage falsche Farbe bei Hintergrundbild
Re: Zeichnen TImage falsche Farbe bei Hintergrundbild
Du bringst wieder Klassenmethoden mit normalen durcheinander.
Hast du das schon gelesen?
https://www.delphi-treff.de/object-pasc ... d-objekte/
Nimm dir Zeit dafür, das zu verstehen.
Es ist eine tolle, knappe Zusammenfassung des Wesentlichen in Punkto Delphi und Objektorientierung.
Hast du das schon gelesen?
https://www.delphi-treff.de/object-pasc ... d-objekte/
Nimm dir Zeit dafür, das zu verstehen.
Es ist eine tolle, knappe Zusammenfassung des Wesentlichen in Punkto Delphi und Objektorientierung.
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: Zeichnen TImage falsche Farbe bei Hintergrundbild
Du musst auch eine Variable nehmen, nicht die Klasse. Die Klasse ist quasi nur die "Vorlage". Allgemein musst du folgendermaßen vorgehen:vazili_Zaitzef hat geschrieben:[...][...]Code: Alles auswählen
procedure TForm1.Button3Click(Sender: TObject); begin TVersuch.Zweitefunction(); end;
Und schon ist der Fehler da...
1. Erstellen
2. Funktionen der Klasse Aufrufen
3. Zerstören und Freigeben, wenn es nicht mehr benötigt wird. (in bestimmten Fällen nicht notwenig, da es automatisch gemacht wird)
Also in deinem Beispiel ungefähr so:
Code: Alles auswählen
var
Versuch: TVersuch; // Variable definieren
begin
Versuch := TVersuch.Create; // Erstellen
Versuch.ZweiteFunktion; // Funktionsaufruf
end;
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 43
- Registriert: Do 6. Dez 2012, 21:55
- OS, Lazarus, FPC: Win7 64 (L 1.6 FPC 3.0.0)
- CPU-Target: 64Bit
Re: Zeichnen TImage falsche Farbe bei Hintergrundbild
Danke 
Vollhorst im Dienst. Gleiche Fehler ein zweites Mal
Danke für die Hilfe
Da habe ich noch eine Frage
Kann man auch Klassen weiter runter brechen?
Versuch.ZweiteFunktion.ErsteOperation

Vollhorst im Dienst. Gleiche Fehler ein zweites Mal

Danke für die Hilfe

Da habe ich noch eine Frage

Kann man auch Klassen weiter runter brechen?
Versuch.ZweiteFunktion.ErsteOperation
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2807
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Zeichnen TImage falsche Farbe bei Hintergrundbild
Warum nicht:vazili_Zaitzef hat geschrieben:Kann man auch Klassen weiter runter brechen?
Versuch.ZweiteFunktion.ErsteOperation
Code: Alles auswählen
unit MeineUnit;
{$MODE ObjFpc}
{$H+}
interface
uses
Classes, SysUtils;
type
TMeineSubClass = class(TObject)
public
procedure MeineMethode;
end;
TMeineClass = class(TObject)
private
FMeineSubClass: TMeineSubClass;
public
property MeineSubClass: TMeineSubClass read FMeineSubClass;
public
constructor Create;
destructor Destroy; override;
end;
var
MeineClass: TMeineClass;
implementation
procedure TMeineClass.SetMeineSubClass(AValue: TMeineSubClass);
begin
if FMeineSubClass = AValue then Exit;
FMeineSubClass := AValue;
end;
constructor TMeineClass.Create;
begin
inherited Create;
FMeineSubClass := TMeineSubClass.Create;
end;
destructor TMeineClass.Destroy;
begin
FreeAndNil(FMeineSubClass);
inherited Destroy;
end;
procedure TMeineSubClass.MeineMethode;
begin
Beep;
end;
initialization
MeineClass := TMeineClass.Create;
finalization
FreeAndNil(MeineClass);
end.
Code: Alles auswählen
program Project1;
{$MODE ObjFpc}{$H+}
uses
Classes, MeineUnit;
begin
MeineUnit.MeineClass.MeineSubClass.MeineMethode;
end.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 6906
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Zeichnen TImage falsche Farbe bei Hintergrundbild
Dazu noch was lustiges, sowas wird fehlerlos kompiliert. Aber beim Ausführen wird ein SIGSEV ausgelöst.Kann man auch Klassen weiter runter brechen?

Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
begin
Parent.Parent.Parent.Parent.Parent.Parent.Parent := Self;
end;
Es Wird dass erste Byte eine Images ausgelesen.
Code: Alles auswählen
var
b: byte;
begin
b := Image1.Picture.Bitmap.RawImage.Data^;
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 43
- Registriert: Do 6. Dez 2012, 21:55
- OS, Lazarus, FPC: Win7 64 (L 1.6 FPC 3.0.0)
- CPU-Target: 64Bit
Re: Zeichnen TImage falsche Farbe bei Hintergrundbild
Danke, das sieht doch gut aus.
Werde ich in meinem Urlaub mal ausprobieren
Bin mal gespannt was so geht

Werde ich in meinem Urlaub mal ausprobieren

Bin mal gespannt was so geht

