Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TACredits, scrolling Unicode & Smart-Tag capable Credits (https://www.delphipraxis.net/95821-tacredits-scrolling-unicode-smart-tag-capable-credits.html)

Prototypjack 13. Jul 2007 17:30


TACredits, scrolling Unicode & Smart-Tag capable Credits
 
Liste der Anhänge anzeigen (Anzahl: 3)
Moin DP,

Wow, ein denkwürdiger Moment! :) Denn dies ist nicht nur meine erste Veröffentlichung sondern auch meine erste visuelle Komponente überhaupt!


http://www.aviant.net/projects/tacredits/logo.jpg
TACredits
Copyright (c) 2007-2008 by Maximilian Sachs


Ok, los geht's mit der Beschreibung:

Was ist das?
Diese Komponente kann einen (Unicode) Text anzeigen und diese gegebenenfalls von Oben nach Unten oder umgekehrt fließen lassen. Dabei gibt es einige Schmankerl, wie zum Beispiel die BB-Tags, SmoothLines und das Dragging. Einzelnes dazu folgt weiter unten.
Die Komponente ist eigentlich aus der Laune entstanden so etwas wie die Credits in Filmen (am Ende) auch im eigenen Programm zu haben. Auf diese Idee ist doch bestimmt schon wer gekommen? Ja, in der Tat, doch ich wollte mehr, freie Formatierungen, schöne Enden (Smoothlines) und einige andere Funktionen.

Features
  • Animation möglich (Freie Wahl der Richtung möglich (Direction).
  • Unicode-Fähig
  • Unterstützung von "Smart-Tags", näheres dazu im folgenden Abschnitt ("Smart-Tags?")
  • Hintergrundfarbe wählbar
  • Hintergrundbild einstellbar (Hintergrundfarbe wird hierbei ignoriert)
  • Rahmen anzeigbar und Farbe anpassbar
  • Animation kann, wenn sich die Maus über dem Credits-Feld befindet, angehalten werden (StopAnimationOnMouseOver)
  • "Dragging", aktivierbar. Text kann manuell verschoben werden (EnableDragging)
  • TextOffset setzbar, wie weit soll der Text vom Rand entfernt sein? (TextOffset)
  • TextAligment setzbar. Zentriert, Rechts oder Links. (TextAlign)
  • Aktivierbare "SmoothLines", näheres weiter unter im Abschnitt "Smooth-Lines?"

Smart-Tags?

Beschreibung
Smart-Tags sind in etwa mit den verbreiteten BB-Code Tags vergleichbar. Diese finden vor allem ihren Weg in diverse Foren, wie auch in dieses hier. Die Tags sind allgemein Case-Insensitive. Es macht also keinen Unterschied, ob man "[anchor]", oder "[AnChor]" schreibt!

Welche Tags werden unterstützt?
Code:
Bold-Tags
Bold-Tag Syntax:
[b]TEXT[/b]
Funktion: Text wird fett dargestellt.

StrikeOut-Tags
StrikeOut-Tag Syntax:
[s]TEXT[/s]
Funktion: Text wird durchgestrichen dargestellt.

Italic-Tags
Italic-Tag Syntax:
[i]TEXT[/i]
Funktion: Text wird kursiv dargestellt.

Underline-Tags
Underline-Tag Syntax:
[u]TEXT[/u]
Funktion: Text wird unterstrichen dargestellt.

Color-Tags
Color-Tag Syntax:
[color="clRed"]TEXT[/color]
[color="$000000FF"]TEXT[/color]
[color="#FF0000"]TEXT[/color]
Funktion: Text wird in der angegebenen Farbe dargestellt.

Font-Tags
Font-Tag Syntax:
[font="Verdana"]TEXT[/font]
Funktion: Text wird in der angegebenen Schriftart dargestellt.

Size-Tags
Size-Tag Syntax:
[size="8"]TEXT[/size]
Funktion: Text wird in der angegebenen Größe dargestellt.

Url-Tags
Url-Tag Syntax:
[url="http://www.google.com"]TEXT[/url]
Funktion: Text wird anklickbar als Link dargestellt. Die Genaue Erscheinung kann im Parameter "LinkFont" verändert werden.

Anchor-Tags
Anchor-Tag Syntax:
[anchor="test"]TEXT[/anchor]
Funktion: Wenn ein Anchor angeklickt wird, wird ein Event (OnAnchorClicked) aufgrufen, zusammen mit dem, in einem WideString/String verstautem, Argument. Wie bei dem Url Tag kann auch hier die genaue Erscheinung mit dem Parameter "AnchorFont" angepasst werden.

Row-Tags
Row-Tag Syntax
[row="50"]
Funktion: Ein horizontaler Strich mit der angegebenen Länge (in Pixeln) wird erzeugt.

Image-Tags
Image-Tag Syntax
[img="0"]
Funktion: Ein Bild aus der angegebenen Imagelist (mit dem angegebenen Index) wird dargestellt.

Offset-Tags
Offset-Tag Syntax
[Offset="12"]
Funktion: Der nachfolgende Text wird, ungeachtet der Textausrichtung, N-Pixel entfernt vom rechten Rand dargestellt.
Smooth-Lines?
Smooth-Lines sind einfach nur "weiche"-Enden. Sie können entweder Oben oder Unten oder auf beiden Siten angezeigt werden. Natürlich kann auch hier die Länge näher spezifiziert werden (SmoothBottom und SmoothTop). Sie erzeugen ihrer Länge nach einen weichen Abgang des Textes in das Hintergrundbild oder in die Hintergrundfarbe.

Lizenz - oder das "Kleingedruckte"
Die ganze Komponente steht unter der Mozilla Public License, Version 1.1. Näheres dazu erfährt man entweder direkt durch die Lizenz (hier), oder durch eine unverbindliche Erklärung durch DSDT.info, am Beispiel der JEDIs (hier).
Ich persönlich finde die Lizenz nicht zu aufdringlich und sehr angenehm für beide Seiten.

Allgemeines, Part 2
Erstellt und getestet wurde die Komponente mit dem BDS 2006 Prof. Ab Version 1.1 RC1 ist sie ebenfalls auf Delphi 7 und BDS 2005 getestet und für lauffähig befunden! Es sind mir momentan keine Fehler bekannt. Solltet Ihr welche finden, so teilt mir diese bitte mit (ich freue mich auch über Lösungsvorschläge oder vielleicht fertige Ansätze!).
Sollte die Komponente den Weg in eure Programme finden, so freue ich mich natürlich immer über eine Mail oder eine PM.

Roadmap
  • Version X
  • Listen-Tags
  • Tabulator Unterstützung
  • [Sleep] Tag (Anhalten, entweder wenn Bottom, Center oder Top zu trifft)

Versionen
  • Ab heute (25.01.2009) ist auch eine Doppellizenz inkludiert. Es kann entweder die MPL, oder die LGPL genutzt werden.
  • Version 1.2 RC1, released on 2008-04-27
    [Added]PNG-Support and Foreground Images (by Sko)
  • Version 1.1 RC2, released on 2008-03-30
    [Fixed]Memory Leaks
  • Version 1.1 RC1, released on 2007-08-11
    [Fixed]Cursor-Bug (Thx to DGL-Luke!)
    [Added]Complete documentation
    [Fixed]Values are now "<0"-safe.
    [Added]Compatibility to Delphi7 and BDS 2005.
    [Fixed][color]-tag ignored Hex-Values.
    [Fixed]Several scrolling-issues.
    [Added]MinHeight/MinWidth
    [Added][Row]-Tag, [Img]-Tag, [Offset]-Tag
    [Added]Unicode can be disabled via compiler-switch.
  • Version 1.1 Alpha 2, released on 2007-07-20
    [Fixed] Smooth-Line Bug
    [Added] PopUp-Menu, Anchors, Alignment, ParentShowHint
    [Changed] CreditsFont -> Font, BackgroundColor -> Color
  • Version 1, released on 2007-07-13
    First Release

Vorsicht: Bei älteren Versionen kann es vorkommen, dass Eigenschaften verändert und/oder entfernt wurden. Deshalb sollte der Inhalt der Komponente temporär gespeichert werden (in einer Text-Datei z.B.), dann die alte Version deinstalliert und erst dann die neue installiert werden. So können etwaige Probleme und Datenverlust vermieden werden! (Daran bin nicht ich Schuld, das ist immer so, wenn man Properties verändert)

Abschließen will ich noch mit einem kleinen Screenshot, der aus einem meiner anderen Projekte stammt und bereits diese Komponente verwendet. Dieser Screenshot zeigt recht gut was damit möglich ist und in wie fern man sie verwenden könnte.

Grüße und bitte Feedback (es ist ja schließlich mein erster Versuch :wink: )
Max

halinchen 15. Jul 2007 14:49

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Ich kann die nicht kompilieren.

Code:
[Fehler] credits.pas(195): E2147 Eigenschaft 'OnMouseEnter' existiert nicht in Basisklasse
[Fehler] credits.pas(196): E2147 Eigenschaft 'OnMouseLeave' existiert nicht in Basisklasse
[Fehler] credits.pas(1349): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fehler] credits.pas(1388): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fehler] credits.pas(1390): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fehler] credits.pas(1409): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fehler] credits.pas(1411): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fataler Fehler] TACredits.dpk(32): F2063 Verwendete Unit 'credits.pas' kann nicht compiliert werden
Ich nutze Delphi 2005. Der Screenshot sieht aber schonmal gut aus.

Prototypjack 15. Jul 2007 15:06

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

Holla, das hatte ich nicht bedacht. Nun sollte es funktionieren!

Grüße,
Max

halinchen 15. Jul 2007 15:34

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Jetzt lässt es sich kompilieren, aber:
  • Beim Starten eines neuen Projekts kommen nur Laufzeitfehler (bei Zeile 629)
  • Wenn ich Credits editiere und auf OK klicke kommt: TWideStringsEditDlg kann nicht zu TWideStringList zugewiesen
    werden.

scrat1979 15. Jul 2007 16:34

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hallo!!

Also bei mir (D2007 Pro) lässt sich die Unit einwandfrei compilieren, der Text editieren und das Scrollen sieht klasse aus!! Hast Du super gemacht!

SCRaT

Prototypjack 15. Jul 2007 21:17

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin!

Zitat:

Zitat von halinchen
Jetzt lässt es sich kompilieren, aber:
  • Beim Starten eines neuen Projekts kommen nur Laufzeitfehler (bei Zeile 629)
  • Wenn ich Credits editiere und auf OK klicke kommt: TWideStringsEditDlg kann nicht zu TWideStringList zugewiesen
    werden.

Bei dem zweiten Fehler bin ich mir zu 99.9% sicher, dass dieser nicht von mir stammt. Hört sich fast so an, als hättest du mit einem Experten den WideStringsEditor ersetzt und der ist scheinbar Fehlerhaft.
Dem ersten Problem widme ich mich morgen genauer, danke für den Hinweis!

Zitat:

Zitat von scrat1979
Hallo!!

Also bei mir (D2007 Pro) lässt sich die Unit einwandfrei compilieren, der Text editieren und das Scrollen sieht klasse aus!! Hast Du super gemacht!

SCRaT

Danke für das Lob :-D
Scheinbar funktioniert ab Delphi 10 und aufwärts alles ohne Probleme.

Bitte weitertesten ;)

Gruß,
Max

halinchen 16. Jul 2007 10:58

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Zitat:

Zitat von Prototypjack
Bei dem zweiten Fehler bin ich mir zu 99.9% sicher, dass dieser nicht von mir stammt. Hört sich fast so an, als hättest du mit einem Experten den WideStringsEditor ersetzt und der ist scheinbar Fehlerhaft.

Nicht das ich wüsste. Ich hab nur Jedi, Indy, VirtualTreeView (oder wie das hieß) und KAZip drauf.
Ich bekomme sowieso morgen/übermorgen einen neuen Rechner, da werde ich Delphi neudraufmachen und dann mal testen.

Achja: Wenn ich zur Designtime active auf true stelle gehts. Da sieht es schon Klasse aus! :thumb:

xZise 16. Jul 2007 12:26

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Wäre es möglich eine kleine Demo online zu stellen?

Prototypjack 16. Jul 2007 19:20

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

(Bin dabei. Demo gibt's in kürze!)
Edit: Die Demo ist nun verfügbar.

Grüße,
Max

Ghostwalker 16. Jul 2007 19:52

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hab mir grad eben die Demo angeguggt und muß sagen, gefällt mir sehr gut. Einzig das Scrolling ist bei Werten ab 40 (Intervall) etwas ruckelig.


Zur Demo:

Du solltest die Eingabe von als Wert unterbinden..sonst wirds unschön. :)

xZise 16. Jul 2007 20:18

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Du solltest die Offsets und Smooths auf <= 0 absichtern :P

Gehstock 16. Jul 2007 21:58

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Sieht wirklich gut aus Gute Arbeit und Danke

Prototypjack 16. Jul 2007 22:45

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

Die Demo habe ich eben angepasst, nun sind nur noch Werte zwischen 1 und 100 gültig. Bei den meisten Werten ist auch noch mehr drin, aber das soll ja nur zu Testzwecken dienen.

Ich freue mich das meine Komponente so gut ankommt :-D

Vielen Danke & Grüße,
Max

Ghostwalker 17. Jul 2007 08:16

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Vielleicht als Erweiterungsidee:

unter www.pbear.com gibts eine Komponenten für die Darstellung von HTML (unabhängig von einem installierten Browser !!!). Vielleicht wär das was so als Erweiterung (mit Bildchen und so einem Schnickschnack :) ).

Prototypjack 17. Jul 2007 10:03

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

Ja, das hatte ich auch geplant. Der Grund wieso ich überhaupt Smart-Tags und nicht HTML verwende ist, dass ein kompletter HTML-Parser einfach ziemlich übertrieben wäre (Man könnte wahrscheinlich nicht einmal die Hälfte aller Tags verwenden ohne den eigentlich Sinn dieser Komponente (nämlich einfach nur schön formatierte Credits anzuzeigen) auszuhebeln).

Dennoch gibt es ein paar Sachen die ich auf jeden Fall noch in der Komponente sehen möchte. Ich habe leider versäumt die Roadmap gleich von Anfang an in den ersten Post zu setzen, nun ist sie aber verfügbar!

Gruß,
Max

christian.noeding 17. Jul 2007 15:06

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm - mal so eine Frage aus dem Hintergrund: wäre es viel Arbeit, die Komponente für Delphi7 anzupassen? Ich haben eben versucht, diese zu kompilieren, aber D7 kennt wohl noch keine WideStringLists...

Es wäre sicher vermessen zu fragen, ob man die entsprechenden DCU-Files bekommen könnte,oder (keine Ahnung, inwieweit sich das mit den Borland-Lizenzen beißt)?

Da die Komponente wirklich Eindruck macht, wäre sowas für den Splashscreen oder den Aboutdialog meiner Anwendung ideal...


vielen Dank,
Christian :-D


PS: Ich habe jetzt mal ein wenig rumgecodet und siehe da, die Komponente läuft jetzt schonmal während der Designzeit (also Scrollt munter vor sich hin.) Starte ich allerdings meine Anwendung, bekomme ich ununterbrochen Zugriffsverletzungen... woran könnte das liegen?

Ich habe derzeit nur die "WidestringLists" durch normale "StringLists" ausgetauscht und die Compileranweisungen {$REGION ...} auskommentiert. Der Fehler tritt in der StrUtils.pas auf, also hats schonmal was mit meinem Austauschen der Stringlists zu tun - aber wo im Code muss ich suchen?


Danke :)






Delphi-Quellcode:
              lCurTagBegin := CurPos - 1;
              lCurTagEnd := PosEx(']', CurLine, lCurTagBegin);
              lCurTagName := Copy(CurLine, lCurTagBegin, lCurTagEnd -  lCurTagBegin + 1);

              if CheckTag(lCurtagName, lCurTag) then
              begin
                lNexTagBegin := lCurTagEnd - 1;
                lNexTagName := '';

                while not CheckTag(lNexTagName, lNexTag) do
                begin
                  lNexTagBegin := PosEx('[', CurLine, lNexTagBegin + 1);
                  lNexTagEnd := PosEx(']', CurLine, lNexTagBegin);
                  lNexTagName := Copy(CurLine, lNexTagBegin, lNexTagEnd - lNexTagBegin + 1);
                  if (lNexTagEnd = 0) or (lNexTagBegin = 0) then
                  begin
                    lNexTagBegin := Length(CurLine) + 1;
                    Break;
                  end;
               end;

Diese Codezeilen lösen die Exception aus. Die Funktion PosEx löst den Fehler bei den Zeilen "lCurTagEnd", "lCurTagName" und "lNexTagEnd", "lNexTagName" aus.

Im Anhang ist die Komponentendatei, welche bei mir unter D7 zwar läuft, aber nur solange man in der ersten Zeile Text stehen hat. Leider werden aufgrund des PosEx-Fehlers auch die Taganweisungen nicht gelöscht. Ansonsten Scrollt das bei mir jetzt auch bei laufendem Programm. Vielleicht kann sich das einer mal anschauen, der etwas mehr Ahnung von Komponenten hat, als ich. :-D

Prototypjack 17. Jul 2007 22:59

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

Tut mir Leid, dass ich heute nicht mehr dazu kam/komme. Morgen gegen Mittag werde ich mir die ganze Sache mal ansehen!

Bis dann & Grüße,
Max

xZise 18. Jul 2007 09:52

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich bekomme die Fehlermeldung
Zitat:

[Pascal Fataler Fehler] Credits.pas(1): F2092 Das Programm oder die Unit 'Credits.pas' ruft sich selbst wieder auf
mit der veränderten Variante...

Geändert habe ich nur den auskommentierten Code weiter unten!

[edit]Ich bin dooooooooooof :P
Und zwar hieß das Projekt.... Auch Credits xD
Jetzt funktionierts... und seltsamerweise auch die veränderte Variante (dynmaisch eingebunden)...
Vielleicht liegt es daran, dass ich TD verwende?[/edit]

[edit]Zu den Alignment: Es gibt schon von Borland eine Enumeration: TAlignment...[/edit]

[edit]Du hast noch einen Bug beim Smooth...
Und zwar Smooth er von Schwarz in BackgroundColor... Siehe Bild[/edit]

Prototypjack 18. Jul 2007 18:21

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Zitat:

Zitat von xZise
Jetzt funktionierts... und seltsamerweise auch die veränderte Variante (dynmaisch eingebunden)...
Vielleicht liegt es daran, dass ich TD verwende?[/edit]

[edit]Zu den Alignment: Es gibt schon von Borland eine Enumeration: TAlignment...[/edit]

[edit]Du hast noch einen Bug beim Smooth...
Und zwar Smooth er von Schwarz in BackgroundColor... Siehe Bild[/edit]

Selbes Ergebnis hatte ich auch. Unter den Version D10+ klappt alles problemlos, sowohl die Unicode(WideString)-Variante, als auch die, die mit normalen Strings arbeitet! Ich habe leider keine Ahnung woher die Fehler kommen und kann auch nicht daran arbeiten, weil ich selbst nicht wirklich debuggen kann, wenn ich keine Fehler sehe, Entschuldigung. Dennoch, falls jemand dem Fehler auf die schliche kommen sollte, bitte teilt ihn mir mit, damit ich das in die künftigen Version flechten kann! Danke

Zu TAlignment, ja ich weiß. Das wurde mir gestern bewusst. Dies und einige andere Dinge werden morgen, in einer neuen Version, verfügbar sein! Ebenso werde ich das Problem mit den SmoothLines ausmerzen (Danke für den Hinweis!).

Grüße,
Max

xZise 20. Jul 2007 09:16

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
An sich sind die Credits richtig gut und habe sie auch schon in Qd verwendet...
Nur eben das mit den Smoothlines ist etwas schade (da ich als Hintergrund clBtnFace) verwende :(
Wann wird das denn aktuallisiert?

Prototypjack 20. Jul 2007 12:31

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

Ich sitze bereits dran. Das ganze war/ist eine ziemlich knifflig, weil ich zuerst den Fehler in der Methode gesucht habe (da war auch einer, aber der hatte mit deinem Problem weniger zu tun und verursachte bei manchen Farben statt den korrekten Alpha-Wert der Farbe den Alpha-Wert den Komplementärfarbe), da scheint er jedoch nicht zu liegen. Ich glaube mittlerweile, dass es ein Problem mit den Farben, bzw. deren Konstanten gibt.

Soweit nichts dazwischen kommt, darf man die Komponente heute noch erwarten.

Grüße,
Max

DGL-luke 20. Jul 2007 13:06

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hallo,

wäre schön wenn du den Tabulator (#09) interpretieren würdest. Am besten für eine schöne tabellarische Darstellung.

Ansonsten sieht die Kompo toll aus.

Prototypjack 20. Jul 2007 13:39

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Zitat:

Zitat von DGL-luke
Hallo,

wäre schön wenn du den Tabulator (#09) interpretieren würdest. Am besten für eine schöne tabellarische Darstellung.

Ansonsten sieht die Kompo toll aus.

Ist bereits geplant, allerdings bezweifle ich, dass dies bereits in version 1.1 Final vorhanden sein wird, bzw. ich das schaffe (bis dahin, denn ich habe momentan keine Ahnung, wie ich das angehen könnte ;) )

Die neue Version ist nun verfügbar und es wurden einige Änderungen vorgenommen. Welche genau kann man der ChangeLog entnehmen (erster Post). Auch die Roadmap wurde aktualisiert.

Falls noch weitere Ideen/etc. da sind, lasst sie hören ;)

Grüße,
Max

Prototypjack 11. Aug 2007 16:34

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

Es gibt eine neue Version :)

Hier kurz eine Zusammenfassung der Veränderungen:
  • Version 1.1 RC1, released on 2007-08-11
    [Added]Complete documentation
    [Fixed]Values are now "<0"-safe.
    [Added]Compatibility to Delphi7 and BDS 2005.
    [Fixed][color]-tag ignored Hex-Values.
    [Fixed]Several scrolling-issues.
    [Added]MinHeight/MinWidth
    [Added][Row]-Tag, [Img]-Tag, [Offset]-Tag
    [Added]Unicode can be disabled via compiler-switch.

Ich hoffe ich habe nichts übersehen und die neue Version gefällt euch!

Grüße,
Max

DGL-luke 11. Aug 2007 17:37

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hallo,

ich hab das mit deinem Cursor-Problem mal ein wenig unter die Lupe genommen. Bei jedem MouseOver eines Links änderst du den Cursor! Und zwar nicht einen temporären, sondern den eingestellten.

Da würde ich dir dringend die Einrichtung einer property TempCursor empfehlen, deren Getter und Setter die einzigen sind, die der WinAPI was von Cursorn verklickern. Und die Zuweisung von TempCursor würd ich dann auch alleinigst der MouseMove-Behandlung überlassen.
Damit sollte dieser Bug schnell behoben sein.

Auch ansonsten schau ich mir das ganze noch ein wenig an, insbesondere wegen den Tabs, die mri sehr am Herzen liegen ;-)

Prototypjack 11. Aug 2007 21:49

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

Der Fehler wegen dem Cursor ist nun, dank DGL-Luke, auch beseitigt worden.

Die neue Version ist bereits verfügbar.

Grüße,
Max

hincapie 6. Sep 2007 10:06

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hallo, eine klasse Komponente! :thumb:

Eine Frage hab ich aber noch:
Wie kann ich den Start der Animation verändern?
Mir dauert das etwas zu lange, bis der Text erscheint.

Zacherl 26. Dez 2007 14:53

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hier auch noch ein Verbesserungsvorschlag: FastMM4 meldet einige MemoryLeaks wenn ich deine Komponente verwende:

Code:
---------------------------
Test.exe: Memory Leak Detected
---------------------------
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):



21 - 28 bytes: TBrush x 1, TPen x 1

29 - 36 bytes: TFont x 1, Unknown x 2

53 - 60 bytes: TBitmap x 1

61 - 68 bytes: Unknown x 1

93 - 100 bytes: TBitmapCanvas x 1

109 - 116 bytes: TBitmapImage x 1



Note: To obtain a log file containing detail on memory leaks, enable the "FullDebugMode" and "LogMemoryLeakDetailToFile" conditional defines. To disable this memory leak check, undefine "EnableMemoryLeakReporting".


---------------------------
OK  
---------------------------

Ghostwalker 28. Mär 2008 08:25

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Kann die Leaks bestätigen. Ein einfaches fBackgroundBitmap.free im Destruktor behebt das ganze :)

Junior22 29. Mär 2008 17:00

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Zitat:

Zitat von Ghostwalker
Kann die Leaks bestätigen. Ein einfaches fBackgroundBitmap.free im Destruktor behebt das ganze :)

Hi danke für die nette kompo :-D
Wird es einen fix geben, da ich leider nicht weiß wie Ghostwalker es meinte.
Was ist der Destruktor?
Hast du eine fixed version für mich Ghostwalker?

Prototypjack 30. Mär 2008 09:12

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

Oha. Das ist mir in der Tat sehr peinlich. Ich lade schnell ACredits 1.1 RC2 hoch, dort ist der Fehler nicht mehr vorhanden.

Ich arbeite übrigens nebenher an einer ganzen Komponenten Sammlung die BBCode unterstützen soll. Das meiste ist schon fertig aber bis zum Release wird es wohl noch etwas dauern.

Grüße,
Max

MrKnogge 30. Mär 2008 12:58

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Wow, die Credits-Komponente sieht sehr viel versprechend aus, ich werde sie auf jedenfall ausgiebig testen und wohl auch verwenden.
Bin auf deine BBCode-Komponentensammlung sehr gespannt, könnte nämlich ein Label gebrauchen, welches BBCode unterstützt.

Prototypjack 30. Mär 2008 13:37

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Zitat:

Zitat von MrKnogge
Wow, die Credits-Komponente sieht sehr viel versprechend aus, ich werde sie auf jedenfall ausgiebig testen und wohl auch verwenden.
Bin auf deine BBCode-Komponentensammlung sehr gespannt, könnte nämlich ein Label gebrauchen, welches BBCode unterstützt.

Freut mich ;)

Ich freue mich auch immer über PMs in denen ich sehen kann, wo meine Komponenten ein neues zu Hause gefunden haben, also wenn du willst kannst du mir gerne mal einen Screenshot schicken.

Das Lable ist bereits eine der Komponenten die auf jeden Fall in der Komponentensammlung vorhanden sein wird (in der Tat ist das Lable bereits fertig und getestet). Ich hoffe ich kommen bald dazu noch ein paar andere Sachen hinzuzufügen, alles ausgiebig zu testen und das Pack zu releasen.

Grüße,
Max

calculon 16. Apr 2008 14:36

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hallo,

ich finde deine Komponente sehr schön und will sie in ein Projekt einbauen. Nur klappt etwas nicht so ganz. Wenn ich auf einen Link klicke dann öffnet sich die URL im Browser, aber die Form reagiert erst wieder, wenn auf die Komponente geklickt wird, d.h. sie reagiert schon (ist nicht eingefroren, oder so), aber die Ereignisse der restlichen Controls werden nicht mehr sofort ausgelöst. Sie sind in einer Warteschleife (?) bis auf die ACredit-Komponente geklickt wird. Dann werden sie erst ausgeführt.

Wenn ich beispielsweise in deiner Unit folgendes einfüge,
Delphi-Quellcode:
     if FAnchorLinkList[I].SmartTag = stUrl then
      begin
        {$IFDEF NO_UNICODE}
        Shellexecute(0, 'open',
          PChar(FAnchorLinkList[I].Parameter), nil, nil, SW_SHOW);
        ShowMessage('Zeig mich!');
        // BTW: Benutze Delphi 7 
        {$ELSE}
        ShellexecuteW(0, 'open',
          PWideChar(FAnchorLinkList[I].Parameter), nil, nil, SW_SHOW);
        {$ENDIF}
      end;
dann hängt das am ShellExecute bis -wie gesagt- auf die Komponente geklickt wird. Dann erscheint auch die ShowMessage-Meldung. Weißt du woran das liegen könnte?

Gruß

Calculon
--

Prototypjack 21. Apr 2008 18:50

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Zitat:

Zitat von calculon
Hallo,

ich finde deine Komponente sehr schön und will sie in ein Projekt einbauen. Nur klappt etwas nicht so ganz. Wenn ich auf einen Link klicke dann öffnet sich die URL im Browser, aber die Form reagiert erst wieder, wenn auf die Komponente geklickt wird, d.h. sie reagiert schon (ist nicht eingefroren, oder so), aber die Ereignisse der restlichen Controls werden nicht mehr sofort ausgelöst. Sie sind in einer Warteschleife (?) bis auf die ACredit-Komponente geklickt wird. Dann werden sie erst ausgeführt.

Wenn ich beispielsweise in deiner Unit folgendes einfüge,
Delphi-Quellcode:
     if FAnchorLinkList[I].SmartTag = stUrl then
      begin
        {$IFDEF NO_UNICODE}
        Shellexecute(0, 'open',
          PChar(FAnchorLinkList[I].Parameter), nil, nil, SW_SHOW);
        ShowMessage('Zeig mich!');
        // BTW: Benutze Delphi 7 
        {$ELSE}
        ShellexecuteW(0, 'open',
          PWideChar(FAnchorLinkList[I].Parameter), nil, nil, SW_SHOW);
        {$ENDIF}
      end;
dann hängt das am ShellExecute bis -wie gesagt- auf die Komponente geklickt wird. Dann erscheint auch die ShowMessage-Meldung. Weißt du woran das liegen könnte?

Gruß

Calculon
--

Moin,

Mir war dieser Fehler bisher nicht bekannt (leider bin ich momentan auch nicht in der Lage zu testen, ob er bei mir überhaupt auftritt). Nächsten Wochenende (~26.04.08 ) wird es aber sowieso einen neue Version geben, die auch ein Vordergrundbild laden kann und PNG-Unterstützung für Background und Foreground mitbringt (Danke an dieser Stelle an Sko der dies implementiert hat). Ich werde dann sehen ob ich für deinen Fehler etwas tun kann ;).

Grüße,
Max

Prototypjack 27. Apr 2008 15:10

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

So, die versprochene Version mit dem aktivierbarem PNG-Support und den Vordergrund-Bildern ist nun verfügbar!

Ich kann leider den Fehler mit der "Warteschleife" bei Links nicht bestätigen. Tritt dieser Fehler bei noch jemanden auf? Welche Delphi-Version benutzt du?

Grüße,
Max

Zacherl 27. Sep 2008 15:04

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hey,

wird es eine D2009 Version geben?

Edit: Habs einfach mal compiliert und scheint (bisher) ohne Änderungen zu funktionieren.

Viele Grüße
Zacherl

Prototypjack 27. Sep 2008 16:50

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Moin,

Die gibt es bereits hier bei mir. Ich könnte jetzt sagen, dass, wenn man die Komponente ohne Unicode-Unterstützung (und ohne PNG-Delphi usw.) kompiliert, das Dingen Delphi 2009 fähig ist (inkl. Unicode). Aber garantieren kann ich nichts, also: Eigene Gefahr!

Es wird demnächst eine (stetig wachsende) Komponentensammlung geben, in der der Parser komplett ausgelagert ist und von mehreren Komponenten (Labels, Panels, u.A. auch die Credits-Komponente) benutzt wird.

Die Version, wie sie hier angeboten wird, wird von mir nicht mehr weiterentwickelt.

Bis dahin kannst du, wie gesagt, auf eigene Gefahr die Komponente verwenden (zumahl die Migration auf das neue System nur das Installieren und DeInstallieren erfordert, also keine Änderungen im Quelltext!).

Grüße,
Max

Zacherl 27. Sep 2008 18:02

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hey,

die Komponentensammlung klingt gut :-) Denke dann warte ich einfach, bis diese released wird.

Viele Grüße
Zacherl

xZise 5. Jan 2009 20:01

Re: TACredits, scrolling Unicode & Smart-Tag capable Cre
 
Hallo Max!

Ich habe ein Problem mit deiner Komponente und zwar wahrscheinlich mit den BBCodes! Ich würde gerne folgenden Text geparst haben:
Code:
[size="6"](licensed under a [url="http://creativecommons.org/licenses/by/2.5/"]Creative Commons Attribution 2.5 License[/url])[/size]
Nun macht er das leider nur halb/halb: Er parst zwar alles, aber der Link ist nicht kleiner geschrieben.

Btw:
Zitat:

Zitat von Prototypjack
Ich könnte jetzt sagen, dass, wenn man die Komponente ohne Unicode-Unterstützung (und ohne PNG-Delphi usw.) kompiliert, das Dingen Delphi 2009 fähig ist (inkl. Unicode). Aber garantieren kann ich nichts, also: Eigene Gefahr![...]

Also die Version aus dem 1. Post läuft damit super (dynamisch erstellt).

Ansonsten ist sind die Credits sehr gut gelungen und setze sie auch ein.

MfG
xZise


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz