Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Ein Gif in Delphi einfügen (https://www.delphipraxis.net/194939-ein-gif-delphi-einfuegen.html)

Jojo18 21. Jan 2018 10:55

Delphi-Version: 6

Ein Gif in Delphi einfügen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Sehr geehrte Community,

ich habe ein kleines Problem, ich versuche ein Gif in Delphi einzufügen.

Die Idee war das ich es so mache Anhang 48370
aber es ging leider nicht da diese Meldung dann kommt Anhang 48371

ich hoffe ihr habt einen Lösungsvorschlag für mich. Oder habt ihr evtl. einen ganz anderen Ansatz als ich ? Falls ja helft mir bitte. Habt bitte auch etwas Nachsicht dies ist meine erste Frage.

Vielen Dank im voraus schon für eure Hilfe.

DeddyH 21. Jan 2018 11:03

AW: Ein Gif in Delphi einfügen
 
Hallo und Willkommen in der DP :dp:,
zunächst brauchst Du eine Unit für Gif- Dateien (IIRC ist bei Delphi 6 noch keine dabei). Die bindest Du ein (uses-Klausel). Und dann muss der Dateiname mit dem GIF auch eine Endung haben, die fehlt in Deinem Code.

Daniel 21. Jan 2018 11:07

AW: Ein Gif in Delphi einfügen
 
Moin,

Du versuchst nicht, ein GIF-Bild in Delphi einzufügen - Delphi ist das Werkzeug, mit dem Du arbeitest. Du möchtest ein GIF-Bild zur Laufzeit in Dein eigenes Programm laden.
Hast Du in der Uses-Liste u.a. die Unit "Vcl.Imaging.GIFImg" eingebunden? Und bist Du sicher, dass der Dateiname existiert? Auf dem bisschen, was man da auf dem Screenshot sehen kann, scheint das ".gif" am Ende zu fehlen.

Und wer generiert eigentlich die Fehlermeldung? Da ist ja offenbar noch mehr Code im Hintergrund.

//edit: Ja, Delphi 6 unterstützt von Haus aus keine GIF-Dateien. Vergiss meinen Hinweis auf die o.g. Unit, die existiert in Deinem Delphi noch nicht.

Jojo18 21. Jan 2018 11:16

AW: Ein Gif in Delphi einfügen
 
Danke erstmal für eure schnelle Hilfe. Aber verzeiht mir die Frage, was meinst du mit uses-Klausel ? Und mit dem Dateiname, meinst du einfach nur wie das Gif heißt ?

ich habe die "Vcl.Imaging.GIFImg" nicht eingebunden, muss ich dafür noch was downloaden damit ich dies bei den uses hinzufügen kann ?

Jojo18 21. Jan 2018 11:26

AW: Ein Gif in Delphi einfügen
 
Ich habe das .gif hinzugefügt und es erschien keine Meldung. Aber es sieht halt aus wie ein Bild und es bewegt sich nicht, habt ihr eine Idee ?

himitsu 21. Jan 2018 11:26

AW: Ein Gif in Delphi einfügen
 
Und im ScreenShot fehlt die Dateiendung.

TPicture kann in älteren Delphis nur Anhand der Dateiendung den passeden TGraphic-Nachfahren automatisch auswählen.
Gibt es keine Dateiendung oder will man aus einem Stream laden, dann muß man den passenden TGraphic-Typen selber bereitstellen.

z.B.
Delphi-Quellcode:
Temp := TGifImage.Create;
Image1.Picture.Graphic := Temp;
Temp.Free; // der Setter von "Graphic" erstellt sich eine Kopie des Objektes
Image1.Picture.Graphic.LoadFromFile(...);

Zusätzlich ist der "feste" Dateipfad natürlich suboptimal. Ich hoffe das wird so nicht im entgültigen Programm verwendet.

himitsu 21. Jan 2018 11:32

AW: Ein Gif in Delphi einfügen
 
Die Fehlermeldung und das Syntax Highlighting kommen mir komisch vor.

Wirklich Delphi oder eher Lazarus/FreePascal?

Fukiszo 21. Jan 2018 11:50

AW: Ein Gif in Delphi einfügen
 
Hier exemplarisch ein Beispiel wie du ein Bild laden könntest. (Gif, Ico, Jpeg usw...)
Da ich deinen Code nicht sehe kann ich nicht direkt helfen.

Delphi-Quellcode:
USES axCtrls; // <- das muss zu deiner USES klausel im Source

// weiter unten im source dann sowas (ich hab ein Knopf/Button examplarisch genommen um darauf zu reagieren)

procedure TForm1.Button1Click(Sender: TObject);
var
  OleGraphic: TOleGraphic;
  fs: TFileStream;
begin
  try
    OleGraphic := TOleGraphic.Create;
    fs        := TFileStream.Create('C:\...\test.gif', fmOpenRead or fmSharedenyNone);
    OleGraphic.LoadFromStream(fs);
    SampleImage.Picture.Assign(OleGraphic);
  finally
    fs.Free;
    OleGraphic.Free
  end;
end;
Achtung: Code ist so nicht ausführbar, der gehört angepasst an deinen Source den ich ja nicht sehe.

Grüße

Jojo18 21. Jan 2018 11:56

AW: Ein Gif in Delphi einfügen
 
Ich habe es jetzt so gemacht wie du gesagt hast himitsu aber er führt es nicht aus. Wie kann ich denn das Temp und TGifImage deklarieren oder muss ich da was bei uses eingeben ?

Jojo18 21. Jan 2018 12:00

AW: Ein Gif in Delphi einfügen
 
Danke für deine Hilfe aber wie kann ich das denn an meine Source anpassen ?

haentschman 21. Jan 2018 12:01

AW: Ein Gif in Delphi einfügen
 
Moin...:P
Hänge doch mal das komplette Projekt als ZIP an. Da brauchen wir nicht mehr raten...:roll:

Fukiszo 21. Jan 2018 12:30

AW: Ein Gif in Delphi einfügen
 
Zitat:

Zitat von Jojo18 (Beitrag 1391527)
....wie kann ich das denn an meine Source anpassen...

bei meinem beispiel hab ich ein TImage als Anzeige benutzt und SampleImage benannt.
fs := TFileStream.Create('C:\...\test.gif', fmOpenRead or fmSharedenyNone);
>> C:\...\test.gif << --- da muss logischerweise ein gültiger name rein also anpassen.

Ansonsten:
Zitat:

Zitat von haentschman (Beitrag 1391528)
...Hänge doch mal das komplette Projet als ZIP an.

Grüße

Bernhard Geyer 21. Jan 2018 12:35

AW: Ein Gif in Delphi einfügen
 
Zitat:

Zitat von Daniel (Beitrag 1391515)
... "Vcl.Imaging.GIFImg" eingebunden?

Oben steht was von Delphi 6...


@Threadersteller:
Musst du wirklich noch mit einer solchen Antiken Delphi-Version arbeiten?
Es gibt aktuell die Möglichkeit die aktuelle Version kostenlos zu bekommen: https://www.embarcadero.com/products...start-for-free

HolgerX 21. Jan 2018 15:34

AW: Ein Gif in Delphi einfügen
 
Hmm..

@Bernhard Geyer
Wieso muss jedem der mit einer alten Delphi Version arbeitet und zufrieden ist ein NEUES Delphi versucht aufgeschwatzt zu werden?
Wieso kann nicht auf die Version zu der die Frage gestellt wurde eingegangen werden?
Was zahlt dir Emba für die massive Werbung? ;)

(So, mal Dampf abgelassen ;) )
Und jetzt bitte nicht (gebetsmühlenartig) wieder und wieder die (angeblichen) Vorteile von Delphi XE10 aufzählen!
Es wird seinen Grund haben weshalb hier jemand mit D6 arbeitet!


Und nun zur Antwort zu der gestellten Frage:

Unter Delphi 6 können ohne zusätzliche Komponenten keine (animierten) GIFs direkt mit TImage dargestellt werden!
Hier wird eine Komponente wie z.B.:
http://www.tolderlund.eu/delphi/
benötigt.

Dort die Unit GifImage in die Uses deines Formulares und dann kann mit Image.Picture.LoafFormFile(AFileName) ein (animiertes) GIF ins TImage geladen und angezeigt werden.

Jojo18 21. Jan 2018 18:08

AW: Ein Gif in Delphi einfügen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hey Leute, ich habe es versucht habe es verpackt aber es funktioniert nicht. Die Datei hat 15,6 MB evtl liegt es vllt daran.
Es kommt auch die Meldung Anhang 48372. Tut mir echt Leid das ihr euch mit meinem Problem so lange beschäftigt.

Bernhard Geyer 21. Jan 2018 19:07

AW: Ein Gif in Delphi einfügen
 
Zitat:

Zitat von HolgerX (Beitrag 1391543)
Hmm..

@Bernhard Geyer
Wieso muss jedem der mit einer alten Delphi Version arbeitet und zufrieden ist ein NEUES Delphi versucht aufgeschwatzt zu werden?

Der Threadersteller schaut mir aber nicht danach aus als wäre er ein langjähriger D6-Verwender.
Eher ein "Oh, Da habe ich ja noch eine D6-Version "rumliegen", nehm ich mal diese" Einsteiger.

Und übrigens: Bis Ende 2016 war D6 meine langjährige Haupt-IDE.
Nach langer Umstellzeit (musste oft Nebenher laufen) bin ich froh nicht mehr mit D6 arbeiten zu müssen.
Das ist einfach nicht mehr Zeitgemäß ohne Unicode, ohne Generics, ohne for-each ohne vollständigen Aufrufstack auch bei zwischenzeitlichen WinAPI-Stack arbeiten zu müssen.

Zitat:

Zitat von HolgerX (Beitrag 1391543)
Wieso kann nicht auf die Version zu der die Frage gestellt wurde eingegangen werden?

Weil einfach das Wissen über die Einschränkungen dieser Version mehr und mehr verloren geht und mehr und mehr Lösungsvorschläge auftauchen werden die nicht mehr mit dieser Version funktionieren.

Zitat:

Zitat von HolgerX (Beitrag 1391543)
Was zahlt dir Emba für die massive Werbung? ;)

Ich bekomme 30% des Verkaufspreises dieser Start-For-Free-Version ...

Zitat:

Zitat von HolgerX (Beitrag 1391543)
Und jetzt bitte nicht (gebetsmühlenartig) wieder und wieder die (angeblichen) Vorteile von Delphi XE10 aufzählen!

Hab ich doch schon.
Hey, ich habe noch einen: Der Threadersteller braucht keine Zusatzkomponenten installieren.
Er kann GIF so verwenden ohne noch was machen zu müssen (außer die Uses-Anweisung anpassen).

Falls er Problem hat mit Der Installation deiner Komponente. Du darfst ihn dann gerne allein helfen dies in D6 installiert zu bekommen.
Mit einer neueren Delphi-Version ist sowas für GIF nicht nötig.

Jojo18 21. Jan 2018 19:13

AW: Ein Gif in Delphi einfügen
 
Zitat:

Hey, ich habe noch einen: Der Threadersteller braucht keine Zusatzkomponenten installieren.
Er kann GIF so verwenden ohne noch was machen zu müssen (außer die Uses-Anweisung anpassen).

Falls er Problem hat mit Der Installation deiner Komponente. Du darfst ihn dann gerne allein helfen dies in D6 installiert zu bekommen.
Mit einer neueren Delphi-Version ist sowas für GIF nicht nötig.
Mein Lehrer meinte zu uns das wir Delphi6 verwenden sollen oder Lazarus. Geht es denn mit Lazarus einfacher ?

Fukiszo 21. Jan 2018 19:19

AW: Ein Gif in Delphi einfügen
 
Zitat:

Zitat von Jojo18 (Beitrag 1391551)
Die Datei hat 15,6 MB

Holla die Waldfee, (...nutzt du Delphi XE 10?, Delphi 6 produziert kleinen Code...)
versuch doch lediglich den source (*.pas *.dfm *.res *.dpr) einzupacken,
ohne binär dateien (abgesehen von der *.res) (beispiel bilder, *.dcu/*.exe etc entfernen)

dann müßte die größe für einen upload ok sein.

Oder ein mini beispiel basteln wo lediglich deine gewünschte funktion vorkommt an der es happert.
Und der Link von
Zitat:

Zitat von HolgerX (Beitrag 1391543)

ist gut.
Da findest du die TGIF komponente samt Beispiele, auch für Delphi 6.

Grüße

Jojo18 21. Jan 2018 19:35

AW: Ein Gif in Delphi einfügen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe eben Lazarus gedownloadet und darauf gemacht, ich hoffe das ist kein Problem für euch Anhang 48373 :shock:

himitsu 21. Jan 2018 21:07

AW: Ein Gif in Delphi einfügen
 
Vom Grundprinzip her ist die VCL ja wie die VCL (bis Delphi 7) aufgebaut und das Laden geht in etwas in Delphi/Lazarus gleich.

Zitat:

Zitat von HolgerX (Beitrag 1391543)
Wieso muss jedem der mit einer alten Delphi Version arbeitet und zufrieden ist ein NEUES Delphi versucht aufgeschwatzt zu werden?

Das "zufrieden" hast du ihm unterstellt. :zwinker:

Weil es uns auch das Leben erleichtert
und so auch jemand helfen kann, der kein uraltes Delphi zur Hand hat, bzw. sich damit nicht auskennt.

Wenn es keinen Grund gibt das nicht zu tun ... viele wissen nicht, dass es sowas jetzt wieder gibt.
Jahrelang gab es keine kostenlosen Versionen, bzw. jeder hatte miterlebt wie sie schlagartig starben. (Personal und die Turbos)
Von Borland.de / Borland.com kommt man nicht zu Embarcadro.com und auf den Seiten der "normalen" Delphiversionen wird nur zur Trial verlinkt, aber die Starter werden "böswillig" verschwiegen.

HolgerX 22. Jan 2018 04:39

AW: Ein Gif in Delphi einfügen
 
Hmm..


Zitat:

Zitat von himitsu (Beitrag 1391567)

Zitat:

Zitat von HolgerX (Beitrag 1391543)
Wieso muss jedem der mit einer alten Delphi Version arbeitet und zufrieden ist ein NEUES Delphi versucht aufgeschwatzt zu werden?

Das "zufrieden" hast du ihm unterstellt. :zwinker:

Ich habe in den letzen Jahren diverse Threads gesehen, wo Leuten versucht wurde die Starter aufzuschwatzen..
Fast alle von denen benutzten z.B. eine D6/D7 Prof..
.. und benutzten die Datenbank-Komponenten.

Somit hätten die mit ner Starter gar nichts anfangen können..

Aber trotzdem erstmal die Starter empfehlen..

Anstelle mal auf die Frage einzugehen.

Wenn man kein eigenes D6/D7 hat oder kein Wissen über dessen Verwendung, dann kann man ja auch erst einmal nur mitlesen.

Viele dieser (vermeintlichen) Todschlagargumente ( Unicode, Generics, for-each..) habe ich noch nicht vermisst.
Auch wir arbeiten auf der Arbeit mit XE, aber auch noch viel mit D6 unter VCL.

Somit kenne ich beide Seiten und muss sagen, lieber arbeite ich mit D6.
Die Ergebnisse laufen genau so gut, teilweise sogar stabiler.

Klar, bei mobilen Sachen kommt man um das 'neueste' Delphi nicht herum, aber wenn ich hier im Forum lese, wie viele mit den neuen Versionen Ärger haben und was das dann an Zeit und auch Geld kostet um es zum Laufen zu bringen...

Aber jetzt ist gut und wir sollten wieder zum Thema kommen.. ;)

Fukiszo 22. Jan 2018 06:36

AW: Ein Gif in Delphi einfügen
 
Zitat:

Zitat von Jojo18 (Beitrag 1391561)
...habe eben Lazarus gedownloadet...

Da ich mich damit noch nie beschäftigt habe und auch nicht vorhabe dies zu tun bin ich aus diesem Thema raus.

Weiterhin viel Erfolg!

Grüße

HolgerX 22. Jan 2018 07:24

AW: Ein Gif in Delphi einfügen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm..

Hier mal ein Beispiel (D6) für GIFImage.

Redeemer 22. Jan 2018 09:45

AW: Ein Gif in Delphi einfügen
 
Es gibt ein Superglobal, da für animierte GIFs gesetzt werden muss.
Code:
  GIFImageDefaultAnimate := True;
Anmerkung: GIFImg spielt GIFs viel langsamer ab als es sollte, aber egal.

Jojo18 22. Jan 2018 09:54

AW: Ein Gif in Delphi einfügen
 
Zitat:

Zitat von Redeemer (Beitrag 1391597)
Es gibt ein Superglobal, da für animierte GIFs gesetzt werden muss.
Code:
  GIFImageDefaultAnimate := True;
Anmerkung: GIFImg spielt GIFs viel langsamer ab als es sollte, aber egal.

Das werde ich gleich mal ausprobieren.

Zitat:

Zitat von HolgerX (Beitrag 1391580)
Hmm..

Hier mal ein Beispiel (D6) für GIFImage.

Hallo Holger,

das habe ich in meinem Delphi Programm probiert und hat direkt funktioniert. In Lazarus geht es komischerweise nicht...
Aber das ist zumindest ein Ansatz mit dem ich Arbeiten kann - danke!!!

Jojo18 22. Jan 2018 17:10

AW: Ein Gif in Delphi einfügen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich habe es versucht in mein Programm zu übernehmen, dies hat auch soweit geklappt bis diese Fehlermeldung kam Anhang 48376
Könntet ihr mir bitte ein weiteres mal helfen.

DeddyH 22. Jan 2018 17:35

AW: Ein Gif in Delphi einfügen
 
Was genau wird denn angemeckert (bitte im Wortlaut)?

Jojo18 22. Jan 2018 17:55

AW: Ein Gif in Delphi einfügen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Also so sieht es dann aus Anhang 48377 dies kommt immer wenn ich GifImage in die uses schreibe. Wenn ich dies nicht mache wird es ganz normal ausgeführt und das Gif erscheint nur als Bild.

Hier ist die Datei Anhang 48378

Danke im voraus:-D

Redeemer 22. Jan 2018 18:04

AW: Ein Gif in Delphi einfügen
 
Die GIF-Klasse ist einfach nicht für Lazarus sondern für Delphi. Bilder und alles was damit zusammenhängt funktionieren in Lazarus deutlich anders.

himitsu 22. Jan 2018 18:26

AW: Ein Gif in Delphi einfügen
 
Aber auch für Lazarus wird es eine GIF-Komponente geben.
Vermutlich wird bereits Eine mitgeliefert. (mal in den Lazarus-Sourcen nach "GIF" suchen)

Jojo18 22. Jan 2018 19:07

AW: Ein Gif in Delphi einfügen
 
Zitat:

Zitat von himitsu (Beitrag 1391679)
Aber auch für Lazarus wird es eine GIF-Komponente geben.
Vermutlich wird bereits Eine mitgeliefert. (mal in den Lazarus-Sourcen nach "GIF" suchen)


Nein leider nicht, denkt ihr es gibt noch irgendetwas was ich machen kann ?

mensch72 22. Jan 2018 19:19

AW: Ein Gif in Delphi einfügen
 
..."Nein leider nicht, denkt ihr es gibt noch irgendetwas was ich machen kann ?"... Ja:)
- nimm (wieder) D6 (da gibt es hier noch einige wenige Anwender und somit etwas Support)
- wenn du keine (BDE)DB-Sachen brauchst, nimm ein aktuelles kostenloses Delphi-Starter(da können dir quasi alle hier sagen wir ab XE2 fast 1:1 helfen)
- wenn du auf "Handarbeit" stehst, bleib bei Lazarus und lerne mit der Google-Suche umzugehen;)

Fukiszo 22. Jan 2018 19:53

AW: Ein Gif in Delphi einfügen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn du zu dein vorhandenes Delphi 6, was ja Deine Schule dir sagte zu nehmen, zurückgreifst,
in diesem Anhang ist TGIFimage version 2.2 als Installier Programm nur für alte Delphi's.

Diese komponente nach Anweisungen Installieren, da extrahiert sich glaub ich auch Beispiel code,
ansonsten kann ich eine seperate Beispiel für diese version per 7z auch noch hochladen.

Grüße


(Nicht das die Schule Dein Projekt nicht akzeptiert weil es in einer anderen Version als vorgeben war programmiert wurde,
ich weiß ja nicht ob das eine vorraussetzung für eine erfolgreiche erfüllung ist?!)

Jojo18 22. Jan 2018 21:14

AW: Ein Gif in Delphi einfügen
 
Okay nochmals vielen Dank an euch alle, dies hat mir wirklich Viel Spaß gemacht mit euch.:-D Ich werde euch bald wieder Fragen stellen, denn mein Projekt ist noch lange nicht fertig. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 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