AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Grafik im Speicher erstellen für BlobStream (DB)
Thema durchsuchen
Ansicht
Themen-Optionen

Grafik im Speicher erstellen für BlobStream (DB)

Ein Thema von NoGAD · begonnen am 19. Apr 2021 · letzter Beitrag vom 21. Apr 2021
Antwort Antwort
Seite 3 von 4     123 4      
venice2
(Gast)

n/a Beiträge
 
#21

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 10:30
Delphi-Quellcode:
 if not Assigned(Abmp) then
    Abmp := Vcl.Graphics.TBitmap.Create;
EDIT:
Warum?

Es wird sich immer beschwert das man NIE auf True oder False hin prüfen soll.
Was ist eine Prüfung auf Nil.. Ja oder Nein, 1 oder 0, True oder False.

Also es ist in jedem fall eine Prüfung darauf ob der Wert True oder False ist.

Wenn man sich schon hier beschwert ->
if (x = True) then
sollte das gleiche auch bei Nil gelten.

Denn Assigned liefert den korrekten wert nämlich True oder False.

Es ist nicht grundsätzlich falsch auf NIL zu prüfen aber dann hat auch die Prüfung auf True wie im Beispiel seine Berechtigung.
Wenn nicht dann bitte schön konsequent bleiben und auch nicht auf NIL hin prüfen. Dafür gibt es Assigned.

Geändert von venice2 (21. Apr 2021 um 11:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#22

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 10:57
Wenn das Objekt aber in der Function erstellt wurde, übersieht man dann nicht außerhalb die Freigabe?

LG 👋🏻
Mathias
Ich vergesse einfach zu viel.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 11:06
Wenn das Objekt aber in der Function erstellt wurde, übersieht man dann nicht außerhalb die Freigabe?

LG ����
Da ich ja eigentlich weiß wann ich etwas erschaffe, ob per methode oder per .Create, weiß ich auch das ich es freizugeben habe. (ich nutze halt freeandnil)
Für mich pers. ist das der bessere Umgang da es generischer ist und (sogut wie) immer ein resultat liefert.
Der eigentliche Grund warum ich überhaupt den Code abgeändert gepostet habe war deine "width and height = 0" abfrage. Wozu ein Bitmap erstellen lassen wenn eins von beiden 0 sein darf?

Es tut mir leid wenn dir mein vorschlag unangehm vorkommt. Jeder kocht halt sein eigenes süppchen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#24

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 11:07
Die übergebene Bitmap müsste aber dann ein Var-Parameter sein, sonst ist die Referenz weg, die Instanz aber weiterhin da.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#25

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 11:08
Zitat:
(ich nutze halt freeandnil)
Nur nötig bei Objekten die sich nicht selbst freigeben also die Rückgabe nicht Nil ist nach Free!
Aber gut jedem das seine
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#26

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 11:14
Delphi-Quellcode:
 if not Assigned(Abmp) then
    Abmp := Vcl.Graphics.TBitmap.Create;
EDIT:
Warum?

Es wird sich immer beschwert das man NIE auf True oder False hin prüfen soll.
Was ist eine Prüfung auf Nil.. Ja oder Nein, 1 oder 0, True oder False.

Also es ist in jedem fall eine Prüfung darauf ob der Wert True oder False ist.

Wenn man sich schon hier beschwert ->
if (x = True) then
sollte das gleiche auch bei Nil gelten.

Denn Assigned liefert den korrekten wert nämlich True oder False.

Es ist nicht grundsätzlich falsch auf NIL zu prüfen aber dann hat auch die Prüfung auf True wie im Beispiel seine Berechtigung.
Wenn nicht dann bitte schön konsequent bleiben und auch nicht auf NIL hin prüfen. Dafür gibt es Assigned.
Inhaltlich beißt sich da irgendwie die katze am eigenen schwanz, oder?
Eine "if" abfrage, egal wie man sie formuliert, bleibt immer eine True oder False abfrage.
Uwe Raabe hatte doch gerade erst gezeigt das eine "if nil" und ein "if assigned()" per debugger den gleichen code ausspuckt oder irre ich mich jetzt total?

Ich nehme natürlich gerne ratschläge dazu an, also Danke für Deinen Ratschlag!!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#27

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 11:14
Nochmal für Emil zum Mitschreiben:
Delphi-Quellcode:
function APICallResult: integer;
begin
  Result := not 0;
end;

procedure TForm13.Button1Click(Sender: TObject);
var
  lBool: Boolean;
begin
  lBool := Boolean(APICallResult);
  if lBool = true then
    ShowMessage('Vergleich mit true ergibt true')
  else if lBool then
    ShowMessage('Prüfung ohne Vergleich ergibt true');
end;
Deshalb vergleicht man nicht mit true, das hat mit einer Prüfung auf nil nichts zu tun.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#28

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 11:16
Zitat:
Inhaltlich beißt sich da irgendwie die katze am eigenen schwanz, oder?
Richtig!
Wollte nur mal auf die nicht konsequente Herangehensweise hinweisen.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 11:18
Die übergebene Bitmap müsste aber dann ein Var-Parameter sein, sonst ist die Referenz weg, die Instanz aber weiterhin da.
Ahhhhh. Ich spring ausm Fenster. Das stimmt! Das habe ich übersehen! Danke!!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#30

AW: Grafik im Speicher erstellen für BlobStream (DB)

  Alt 21. Apr 2021, 11:19
Zitat:
Deshalb vergleicht man nicht mit true, das hat mit einer Prüfung auf nil nichts zu tun.
Für dich zum mitschreiben es gibt nur 2 werte 0 oder <> 0 (VB = -1) btw. 1
Wie man sie letztendlich prüft bleibt sich gleich. Aber wenn schon dann mit allen Variablen gleich so wie es in C++ auch stattfindet.

Ok bin raus ist ein anderes Thema.

Geändert von venice2 (21. Apr 2021 um 11:24 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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