Autor |
Beitrag |
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mo 03.11.08 15:15
Version 0.65 online!
Diesmal hab ich kaum Changes drinnen, es ist also eher eine 0.64a, aber ein paar Sachen sind doch neu:
Ich hab ein paar kleine Fehlerchen in der deutschen Sprachdatei behoben. Außerdem hab ich ein paar kleine Übersetzungen verändert. Zudem war in den Optionen die Einträge in Tab "Themes" zu kurz, die hab ich nun länger gemacht.
Das erste, was beim Start auffallen sollte ist, dass die Widgets beim Start jetzt einfaden und nicht einfach aufpoppen. Ich hoffe, dass das Fading funktioniert - falls nicht bzw. falls ihr es blöd findet, könnt ihr es auch in den Optionen deaktivieren.
Wenn man jetzt die SideBar woanders positioniert, werden die angedockten Widgets (jetzt endlich) mit verschoben. Das wollt ich eigendlich schon viel früher einbauen, jedoch hab ich mich erst jetzt dazu überwinden können.
(Download sowie ChangeLog im ersten Post)
Grüße
Dave
Yogu hat folgendes geschrieben : | Mir fällt gerade noch eine unschöne Übersetzung auf (Menü Ansicht)
"Automatisches Displayupdate"
besser wäre
"Vorschau automatisch aktualisieren"
oder so ähnlich. |
Danke, hab ich in der neuen Version mit eingebaut.
@Regan: ich hab mal eine komplett temporäre Funktionsübersicht erstellt. Es sind noch keine Beschreibungen vorhanden, jedoch ist schonmal die Übersicht da. Ich habs mal angehängt.
Hidden hat folgendes geschrieben : | Ich habe einen - glaube ich - revolutionären Featurevorschlag: Was hältst du davon, wenn Widgets, über denen man mit dem Mauszeiger verharrt, volltransparent werden und man hindurchklicken kann?
Klingt erstmal nach "Bug, no feature" .
Ich kenne aber kein Widget, über dem es nötig wäre, mit dem Mauszeiger lange drüberzubleiben. Und damit könnten Widgets ohne Sidebar keine Oberfläche mehr behindern.
Dachte mir das so(abstellbar): Maus übers Widget. Nach [einstellbarer Zeit] kommt eine(abstellbare) Fading-Animation und das Widget wird ausgeblendet. Jetzt kann hindurchgeklickt werden. Maus runter -> Wieder voll da.
Wäre natürlich auch möglich, das nochmal für einzelne Widgets abschaltbar zu machen.
Hoffe das war in der Schnelle verständlich . |
Also verstanden hab ich den Vorschlag schon, jedoch gibt es da sehr viele Probleme: wenn ich Widgets als "Maus-Transparent" setzte, bekommt das Widget natürlich keine Mausevents mehr. Wie sollte ich dann auf "MouseUp" reagieren? Klar könnte ich mit Get(Async)KeyState überprüfen, ob die Maustaste noch gedrückt ist, jedoch halte ich das für nicht so gut. Zudem find ich es nicht so gut. Sagen wir mal, ich will in den RSS-Feeds lesen - nun bleibe ich ausversehen zu lange auf dem Widget und ich will klicken bzw. das Widget verschwindet - das find ich nicht so gut. Ich denke, dass man so viele Ausnahmen definieren müsste, dass es sich schon fast nicht lohnt, die Option zu aktivieren bzw. sie einzubauen. Die Option "Auf Maus reagieren" ist ja nicht umsonst da - genau für diesen Zweck. Über einen dynamischen Alpha-Wert kann ich ja mal nachdenken bzw. einen Slider, mit dem man den Alpha-Wert einstellen kann.
Edit: falsche Version hochgeladen, sorry
Einloggen, um Attachments anzusehen!
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mo 03.11.08 16:18
Hi,
Du hast mich falsch verstanden: Wenn die Maus vom Widget bewegt wird, soll es wieder auftauchen. Im Mouseup gibt das wenig Sinn
Inwieweit das besser umzusetzen ist..
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mo 03.11.08 17:31
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mo 03.11.08 18:39
Hi,
Das Hauptfeature soll ja die dadurch eintretende Transparenz sein, nicht einfach Durchklickbarkeit  Außerdem wäre es dann möglich, gleichzeitig Widget und Hintergrund mit Mausklicks zu erreichen. Aktivieren müsste man das ja sowieso erst in den Einstellungen und dann wäre die Ausblendezeit ja auch nochmal einstellbar. Sollte ein Widget ungewollt verschwinden, müsste man ja nur kurz die Maus bewegen.
Zielvorstellung war eigentlich eine Funktion, die die Widgets genau dann verschwinden lässt, wenn der User versucht, an die Sachen dahinter zu kommen. Also quasi intuitiv bedienbar.
Könnte mir auch vorstellen, dass das Widget einfach wie der Goldfisch zur seite flutscht und dann wieder zurück.
@Mouseevents: Kannst ja einfach nach 3 Sekunden oder so wieder einblenden. Dann käme man problemlos an beides, ohne z.B. erst wieder vom Widget runterzumüssen.
Eventuell könnte man auch einfach einen Shortcut zum aus-/einblenden aller Widgets einrichten.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Mo 03.11.08 20:02
littleDave hat folgendes geschrieben : | @Regan: ich hab mal eine komplett temporäre Funktionsübersicht erstellt. Es sind noch keine Beschreibungen vorhanden, jedoch ist schonmal die Übersicht da. Ich habs mal angehängt. |
Cool, danke. Das hilft mir schon etwas weiter.
Ich habe aber noch einen Bug: Wenn ich die Engine mit Windows starten lasse, dann kommt bei mir immer der Fehler "Cannot Create Shell Notification Icon". Allerdings ist eins da. Es wird dann aber nichts geladen  und mir bleibt nichts anderes übrig, als das Programm mit dem Taskmanager zu killen.
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mo 03.11.08 20:45
Hidden hat folgendes geschrieben : | Eventuell könnte man auch einfach einen Shortcut zum aus-/einblenden aller Widgets einrichten. |
Das finde ich wiederum eine bessere Idee. Ein einfaches ShortCut, dass alle Widgets unsichtbar macht.
Regan hat folgendes geschrieben : | Ich habe aber noch einen Bug: Wenn ich die Engine mit Windows starten lasse, dann kommt bei mir immer der Fehler "Cannot Create Shell Notification Icon". Allerdings ist eins da. Es wird dann aber nichts geladen und mir bleibt nichts anderes übrig, als das Programm mit dem Taskmanager zu killen. |
Oh, ok folgendes: diese Exception wird dann ausgeführt, wenn das TrayIcon nicht erstellt werden kann. Laut MSDN kann es unteranderen daran liegen:
MSDN hat folgendes geschrieben: | Returns TRUE if successful, or FALSE otherwise. If dwMessage is set to NIM_SETVERSION, the function returns TRUE if the version was successfully changed, or FALSE if the requested version is not supported.
You can call GetLastError for more specific information about a failure case. The most common cause of failure is that the taskbar window doesn't exist or is unresponsive. GetLastError in that case returns E_FILE_NOT_FOUND. |
Hast du schonmal versucht, die Startverzögerung für den Autostart zu benutzen? Probier mal 20 Sekunden aus, ob es dann vielleicht funktioniert.
Aber das ein Icon da ist, wundert mich schon etwas  eigendlich dürfe noch keins da sein 
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Di 04.11.08 12:45
littleDave hat folgendes geschrieben : |
Hast du schonmal versucht, die Startverzögerung für den Autostart zu benutzen? Probier mal 20 Sekunden aus, ob es dann vielleicht funktioniert. |
Ich habe sie schon benutzt, aber auf 10 Sekunden. Auf 20 Sekunden kommt kein Fehler mehr  . Naja, jedenfalls geht es  .
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Di 04.11.08 17:37
|
|
Kroko
      
Beiträge: 1284
W98 W2k WXP
Turbo D
|
Verfasst: Di 04.11.08 21:46
ich auch nicht, 
_________________ Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Mi 05.11.08 13:40
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mi 05.11.08 14:17
Zuletzt bearbeitet von littleDave am Do 06.11.08 13:20, insgesamt 1-mal bearbeitet
|
|
henni
      
Beiträge: 48
Win 7
Delphi 5 Standart, C# (Visual Studio 2008 Express Edition)
|
Verfasst: Mi 05.11.08 16:26
Also bei mir kommt der Fehler auch immer.
Verzögerung habe ich noch nicht eingestellt, werde es aber mal testen.
Und ich finde die deutsche Übersetzung spitze!
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Mi 05.11.08 22:05
littleDave hat folgendes geschrieben : | Ok - ich hab im Anhang mal mein aktuelles Development - SnapShot angehängt. In der hab ich die Erstellungsreihenfolge geändert. Außerdem hab ich die Exception mal komplett abgefangen. Was mich jetzt interessieren würde ist, ob das TrayIcon bedienbar ist, da du ja gemeint hast, dass es angezeigt wird. |
Also bis jetzt habe ich keine Probleme feststellen können. Wenn noch was kommen sollte, dann schreibe ich das natürlich sofort hier.
Ist eigentlich eine Homepage geplant, wo man seine eigenen Widgets hochladen kann?
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mi 05.11.08 22:20
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Do 06.11.08 14:10
Version 0.66 ist online!
Neue Website: hier
Die erste Version der Website ist jetzt online. Auf der Website könnt ihr eure Widgets und eure PlugIns hochladen und diese natürlich auch Downloaden. Durch die Website hab ich das Download-Prozedere komplett geändert. Im Download-Paket sind jetzt nur noch 2 Widgets vorhanden. Somit muss man sich jetzt nicht mehr Widgets herunterladen, die man garnicht haben will.
Manche haben ja gemeint, dass sie einen Fehler mit dem TrayIcon beim Autostart bekommen - das hab ich nun auch behoben.
Sonst gibt es nicht viele Änderungen, ein paar Probleme mit dem Ausfaden hab ich noch behoben.
Ach ja, noch was: ich hab im SideBar-Code noch ein Fehler mit [Win]+[D] behoben - falls bei euch die SideBar wieder nicht mehr angezeigt wird - sofort sagen, dann mach ich das wieder rückgängig.
Grüße
Dave
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mi 12.11.08 14:26
Ich habe gerade Version 0.67 hochgeladen.
So, ich hab jetzt die Möglichkeit eingebaut, direkt "Sounddateien" in den Widgets speichern zu können und sie auch direkt abspielen zu können. Dafür gibt es jetzt einen neue, ganz simple Komponente: TwgSound. Unterstützt werden alle Soundtypen, mit der die BASS.dll umgehen kann.
Zudem speichert jetzt die SideBar, ob sie auf die Maus reagieren soll oder nicht.
An der ScriptEngine hat sich jetzt auch einiges getan: sie unterstützt jetzt auch WideString und PChar. Somit kann man jetzt mit strings, UTF8Strings, WideStrings und mit PChars arbeiten - ohne lästige Konvertierungsroutinen - das passiert alles intern per Compiler-Magic.
Durch die Benutzung von WideStrings ist es jetzt auch für PlugIns möglich, strings als Funktionsergebniss für eine Funktion anzugeben - dabei muss das Funktionsergebnis WideStrings sein. Ich habe die PlugIn-API dafür aktualisiert und auch ein Beispiel für einer Funktion mit WideString als Funktionsergebniss eingebaut. An der API an sich hat sich nichts geändert - somit sind auch ältere PlugIns weiterhin kompatibel.
Im Moment arbeite ich an einem Konzept, wie ich am besten eine Multi-Language-Fähigkeit für die Widgets bereitstellen kann. Dies dauert aber noch etwas. Auf meiner Roadmap bis Version 0.7 steht, dass die Widgets komplett in Unicode laufen sollen - mal schauen, ob ich das schaffe.
Den Download-Links gibts im ersten Post oder hier (ca. 1.5 MB). Den ChangeLog findet ihr hier.
Grüße
Dave
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Do 13.11.08 14:58
Is ja relativ ruhig geworden hier. Aber bei mir gehts munter weiter:
Version 0.68 ist online.
Ich habe einen großen Bug in den Security-Settings behoben. Daher hab ich die Version auch sofort hochgeladen.
Auch neue Widgets gibt es zu verzeichnen:
- Eine Eieruhr
Gestern hat CK_CK aus der DelphiPraxis eine sehr gute Eieruhr veröffentlich. Ihr könnt das Widget hier herunterladen
- Eine ToDo-Liste
Außerdem hab ich mich mal hingesetzt und eine Widget für eine ToDo-Liste erstellt. Dies könnt ihr hier herunterladen
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Sa 15.11.08 16:45
Version 0.69 ist online.
Ich habe es nun endlich geschafft, die auf der Website hochgeladenen Widgets mit Hilfe des Programms direkt herunterladbar zu machen. Um das zu tun, müsst ihr einfach nur auf "Widget hinzufügen" gehen und unten den Knopf "Widgets herunterladen" drücken. Bisher war es so, dass dann die Website im Standardbrowser geöffnet wurde. Jetzt werden die Widgets aber in dem Dialog angezeigt. Wenn ihr dann ein Widget ausgewählt habt, müsst ihr einfach nur auf "Öffnen" klicken und das Widget wird automatisch heruntergeladen.
Zudem habe ich das Programm jetzt so erweitert, dass es automatisch alle 7 Tage nach Updates sucht. Im Moment kann man diese automatische Suche noch nicht deaktivieren, das wird aber noch kommen  . Natürlich könnt ihr die Update-Suche auch manuell ausführen (im Menüpunkt "?").
Außerdem habe ich das TwgEdit jetzt endlich erweitert. Es ist jetzt endlich möglich, Text zu markieren. Dies geht mit der Maus und mit [Shift] + [Pfeiltasten] (wie in Windows).
Da es ja noch keinen richtigen Debugger gibt und es immer etwas blöd ist, ShowMessage zu benutzen, hab ich jetzt eine neue Funktion eingebaut: OutputDebugString. Dabei wird der String im Editor im unteren Tab "Debug-Nachrichten" angezeigt. Wenn das Widget nicht mehr im Editor ausgeführt wird, hat die Funktion keine Auswirkung mehr.
Zudem habe ich jetzt noch eine neue Unit hinzugefügt: Dialogs. Darin sind die Klassen "TOpenDialog", "TSaveDialog" und die Funktion "SelectDirectory" enthalten. Bei TOpenDialog/TSaveDialog wird die Funktion Execute übrigens nur ausgeführt, wenn das Widget lokale Dateien lesen/schreiben sowie auflisten darf. "SelectDirectory" wird nur ausgeführt, falls das Widget lokale Dateien auflisten darf.
Download-Link im ersten Post oder hier
Grüße
Dave
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mi 19.11.08 18:04
Version 0.7 ist online!
ACHTUNG ACHTUNG:
Widgets, die mit einer früheren Version als 0.7 erstellt wurden, funktionieren NICHT mehr!!!!!
Aufgrund der Umstellung zu Unicode hat sich intern so viel getan, dass ich diesen Schritt gehen musste. Alle bereits auf der Website veröffentlichen Widgets sind bereits mit Version 0.7 kompatiblel.
Wenn ihr ein komplettes Update machen wollt, solltet ihr folgendes tun:
- Die neue Version herunterladen
- Programm ausführen und auf "Widget hinzufügen" klicken
- Dann unten den Knopf Widgets herunterladen auswählen
- Dann die endsprechenden Widgets auswählen (mehrfachauswahl möglich, Strg+A für alle) und auf öffnen klicken
- Fertig!
So, nun aber zum eigendlichen Thema: Widgets sind jetzt komplett Unicode-fähig. Dafür habe ich sehr viele Standardfunktionen wie Copy, Length, usw. um eine WideString und um eine UTF8-Variante erweitert. Für die UTF8-Variante steht am Ende der Funktion jeweils ein U, für die WideString-Variante ein W.
Ihr müsst euch keine Sorgen um die hin-und her-Konvertierung machen - das macht der Kompiler alles automatisch. Jedoch solltet ihr wissen, dass eine Zuweisung von einem WideString zu einem String sachen verlohren gehen können (liegt ja an der begrentzen Möglichkeit von string).
Weil die Widgets jetzt Unicode-Fähig sind, können sie jetzt natürlich auch Übersetzt werden. Dafür habe ich einen Übersetzungsmanager eingebaut. Den Quelltext müsst ihr dafür aber auch anpassen.
Um einen String aus der Sprach-Datei zu laden, gebt ihr folgendes ein
Delphi-Quelltext 1: 2: 3: 4:
| var s: string; begin s := Language.Lang('Identifier', 'Default'); end; |
'Identifier' ist dabei ein der Name des Strings in der Sprachdatei. 'Default' ist der Wert, der zurückgegeben wird, falls 'Identifier' nicht gefunden wurde. Nichtgefunden Einträge werden automatisch gespeichert.
Wenn ihr jetzt eure Strings mit diesem Ausdruck [Language.Lang(...)] ersetzt habt, führt ihr euer im Editor aus. Dann wird automatisch die erste Sprachdatei erstellt. Dann schließt ihr euer Widget wieder und öffnet im Editor den Übersetzungsmanager (unter "Ansicht"). Dort wählt in dann im Punkt "Sprache" den Punkt "Vom letzen ausführen Importieren" - und schon füllt sich der Editor. Jetzt könnt ihr alle Einträge beliebig bearbeiten.
ACHTUNG: es werden nur die Sprach-Strings übernommen, die bei der Ausführung per Language.Lang() aufgerufen wurden. Falls sich der Ausdurck "Language.Lang" in einem Code-Stück befindet, der nicht erreicht wurde, wird der String nicht übernommen (da er ja nicht vorhanden ist).
Die Umstellung auf Unicode hat sehr viel mit sich gezogen - ich würde ich wirklich empfehlen, mal kurz den ChangeLog zu Version 0.7 durchzulesen.
|
|
henni
      
Beiträge: 48
Win 7
Delphi 5 Standart, C# (Visual Studio 2008 Express Edition)
|
Verfasst: Mi 19.11.08 19:37
Das Programm wird ja immer besser!
Das mit der Sprache gefällt mir wirklich sehr gut!
Auch, das man die Widgets direkt aus dem Programm herunterladen kann!
Folgende Verbesserungsvorschläge sind insgesamt bei mir wieder zusammengekommen:
Erstmal die Allgemeinen:
- Eine Option "Zeichne alle Widgets neu" z.b. unter dem Menüpunkt Ansicht, damit man solche Widgets neuzeichnen lassen kann, die sich an geänderte Eigenschaften anpassen sollen.
- Speichern der Option "Vorschau automatisch aktualisieren"
- Automatisches Update, also dass das aktuelle Programm heruntergeladen, entpackt und neugestartet wird
- Ist vllt. schwer, aber: sobald ich ein DirectX Spiel starte, schieben sich die Widgets immer zeitweise darüber. Hier wäre es sehr gut, wenn dein Programm erkennt, das ein DX Programm gestartet wurde.
- Das Fading dauert mir ein bisschen zu lange, es wäre gut, wenn man das irgendwo einstellen kann
- Eine automatische Widget Update Funktion
Hier meine Verbesserungsvorschläge zum Download Manager:
- Besseres Verwalten der Downloads: Wenn ich mir ein Widget von dem Server lade, und es dann fertig ist, muss ich in der Liste "Fertige Downloads" immer suchen, um dieses zu finden. Besser wäre es, wenn die entweder sortiert oder irgendwie anders verwaltet werden. (z.b. wie die Downloadliste bei FireFox)
- Eine Funktion, mit der man die Einträge der Liste der abgeschlossen Downloads entfernen kann
- Bei mir kommt eine Zugriffsverletzung, wenn ich ein Widget hinzufügen will, während ich gerade eins herunterlade
- Eine Progressbar, die den Fortschritt des Downloads anzeigt (Also für jedes Widget eine eigene Progressbar)
Hier die Verbesserungsvorschläge zum "Widget Hinzufügen" Dialog:
- Der Filter hat einen kleinen Bug: er filter das Wort "downloads" mit, d.h. wenn man nach einem Widget sucht, das "Download Manager" heißt, und "Download" eingibt, werden trotzdem noch alle angezeigt, da unter jedem Widget der Text "(X Downloads)" steht. Dieser wird bei der Suche mit berücksichtigt, was zu diesem Fehlverhalten führt.
- Bei schwarzer Farbe sind einige Hintergründe der Widgets grünlich, andere nicht. Das tritt nur bei lokalen Widgets auf, also bei denen, die man heruntergeladen hat.
- Bei weißer Farbe sind einige Hintergründe der Widgets leicht bläulich, andere, wie gesagt (s.o.), nicht
- vllt. Zwischenspeichern der Bilder der Widgets aus dem Internet und dann bspw. nur anhand einer kleinen Prüfsumme feststellen, ob sich das Bild geändert hat und es erst dann neu laden
- Bei der Kategorieeinteilung vllt. eine andere Komponente als die ListBox nehmen, denn irgendwie passt die Listbox da nicht soo gut, dann das Doppelklicken und das markieren nervt ein bisschen
Ansonsten sehr sehr gut und weiter so!
Ich werde das Programm schön weiterempfehlen!
|
|
|