AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Komponente daten ablegen

Ein Thema von Kellerassel · begonnen am 26. Jun 2010 · letzter Beitrag vom 26. Jun 2010
Antwort Antwort
Kellerassel

Registriert seit: 31. Aug 2003
Ort: NRW
24 Beiträge
 
Delphi 2010 Professional
 
#1

Komponente daten ablegen

  Alt 26. Jun 2010, 08:53
Hi

mal wieder ne Komponenten Frage

Wenn ich eine Image Komponente auf mein Formular ziehe, und dann ein Bitmap lade, das Projekt abspeicher, so ist bei nächsten laden des Projektes das Bild des Image wieder da.
Das Bild des Image wird in der dfm datei abgelegt.

Nun Habe ich eine eigene Komponente, in der ich mit einem Bitmap arbeite, lade ich ein Bitmap, speichere ich das Projekt, ist das Bitmap beim reload des Projekts weg.
Nun gehe ich hin und speicher einfach das Bitmap wenn es im Objektinspektor zugewiesen wird unter dem KomponentNamen.bmp (FBitmap.SaveToFile(Name);

Wenn das Projekt aber nicht gespeichert ist, wird das BMP auf dem desktop gespeichert. ich weiß ja auch zu dieser Zeit nicht wo das Projekt gespeichert wird.
Wie kann ich es erreichen das das BMP erst gespeichert wird, wenn das Projekt gespeichert wird, ich also den Projekt Pfad weiss?


oder mache ich das ganze zu kompliziert?

über tips wäre ich dankbar

LG
Auf jede komplizierte Frage gibt es eine kurze knappe Antwort, die falsch ist.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

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

AW: Komponente daten ablegen

  Alt 26. Jun 2010, 09:39
Es ist sicher auch möglich, die Komponente so zu schreiben, daß das Bitmap in der DFM gespeichert wird. Dazu bräuchten wir allerdings mal etwas Code.
Uwe Raabe
  Mit Zitat antworten Zitat
Kellerassel

Registriert seit: 31. Aug 2003
Ort: NRW
24 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Komponente daten ablegen

  Alt 26. Jun 2010, 10:21
Delphi-Quellcode:
type
  THobel = class(TCustomControl)
  private
     FHobel_Bitmap :Tbitmap;

   ....
function GetBitmap:Tbitmap;
procedure SetBitmap(bmp:TBitmap);
   ....



published
     property HG_Bitmap    :TBitmap read GetBitmap write SetBitmap;





procedure THobel.SetBitmap(bmp: TBitmap);
begin
 if FHobel_Bitmap=nil then FHobel_Bitmap:=TBitmap.Create;
 FHobel_Bitmap.Assign(bmp);
end;



function THobel.GetBitmap: Tbitmap;
begin
 if FHobel_Bitmap=nil then begin
   result:=nil;
   exit;
 end;
 result:=Tbitmap.Create;
 result.Assign(FHobel_Bitmap);
 FHobel_Bitmap.SaveToFile(Name);
end;


Wobei hier nur zum Testen das Bitmap in ' FHobel_Bitmap.SaveToFile(Name); ' gespeichert wird.

Sobald jetzt die Komponente auf das Form gezogen wird, wird das Bitmap gespeichert(zu der zeit ist es noch nil) weise ich dann im Objekt inspektor ein Bitmap zu,
wird es auf dem Desktop (Aktueller windows Pfad) abgespeichert.

Das ist ja auch alles völlig klar.

Ich habe mir halt nur angeschaut wie das in der Image Komponente gemacht wird, und die Funktioniert.
Dort wird es wie gesagt erst beim speichern des Projekts in der DFM abgelegt.

Nur wie erreiche ich das zu dem Zeitpunkt innerhalb der komponente ?
Auf jede komplizierte Frage gibt es eine kurze knappe Antwort, die falsch ist.

Geändert von mkinzler (27. Jun 2010 um 08:07 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:13 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