![]() |
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. |
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. |
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. |
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 ? |
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 ?
|
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. |
AW: Ein Gif in Delphi einfügen
Die Fehlermeldung und das Syntax Highlighting kommen mir komisch vor.
Wirklich Delphi oder eher Lazarus/FreePascal? |
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:
Achtung: Code ist so nicht ausführbar, der gehört angepasst an deinen Source den ich ja nicht sehe.
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; Grüße |
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 ?
|
AW: Ein Gif in Delphi einfügen
Danke für deine Hilfe aber wie kann ich das denn an meine Source anpassen ?
|
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: |
AW: Ein Gif in Delphi einfügen
Zitat:
fs := TFileStream.Create('C:\...\test.gif', fmOpenRead or fmSharedenyNone); >> C:\...\test.gif << --- da muss logischerweise ein gültiger name rein also anpassen. Ansonsten: Zitat:
|
AW: Ein Gif in Delphi einfügen
Zitat:
@Threadersteller: Musst du wirklich noch mit einer solchen Antiken Delphi-Version arbeiten? Es gibt aktuell die Möglichkeit die aktuelle Version kostenlos zu bekommen: ![]() |
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.: ![]() 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. |
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. |
AW: Ein Gif in Delphi einfügen
Zitat:
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:
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. |
AW: Ein Gif in Delphi einfügen
Zitat:
|
AW: Ein Gif in Delphi einfügen
Zitat:
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:
Da findest du die TGIF komponente samt Beispiele, auch für Delphi 6. Grüße |
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:
|
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:
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. |
AW: Ein Gif in Delphi einfügen
Hmm..
Zitat:
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.. ;) |
AW: Ein Gif in Delphi einfügen
Zitat:
Weiterhin viel Erfolg! Grüße |
AW: Ein Gif in Delphi einfügen
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm..
Hier mal ein Beispiel (D6) für GIFImage. |
AW: Ein Gif in Delphi einfügen
Es gibt ein Superglobal, da für animierte GIFs gesetzt werden muss.
Code:
Anmerkung: GIFImg spielt GIFs viel langsamer ab als es sollte, aber egal.
GIFImageDefaultAnimate := True;
|
AW: Ein Gif in Delphi einfügen
Zitat:
Zitat:
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!!! |
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. |
AW: Ein Gif in Delphi einfügen
Was genau wird denn angemeckert (bitte im Wortlaut)?
|
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 |
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.
|
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) |
AW: Ein Gif in Delphi einfügen
Zitat:
Nein leider nicht, denkt ihr es gibt noch irgendetwas was ich machen kann ? |
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;) |
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?!) |
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 22:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz