![]() |
AW: WatchKit... (Uhren Baukasten)
Detailfragen, wessen Delphi was nicht verwerten kann, könnt Ihr per PN klären. Hat für die Allgemeinheit wenig Mehrwert.
|
AW: WatchKit... (Uhren Baukasten)
Zitat:
Wenn dir mein Thema nicht gefällt darfst du es gerne löschen. Du bist der Boss Er wollte mir helfen das Teil zu debuggen was ist also falsch daran das ich ihm sage das D2009 keine Generics kennt? gruss |
AW: WatchKit... (Uhren Baukasten)
Zitat:
|
AW: WatchKit... (Uhren Baukasten)
Neue Version
Menu Problem behoben verwende jetzt ein Skin-Menu gruss |
AW: WatchKit... (Uhren Baukasten)
fertig..
Da es niemanden zu interessieren scheint erspare ich mir weiteren upload. Unnötige Bilder die nicht zu einer Frage Stellung gehören gelöscht. gruss |
AW: WatchKit... (Uhren Baukasten)
Hab Angst hier noch etwas zu Schreiben.
Mfg. |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Danke für die Info.. Soweit sind wir hier schon.. gruss |
AW: WatchKit... (Uhren Baukasten)
Da doch noch Interesse bestand 11 Downloads!
Hier ist die Final Version.. Wie immer oben zu laden. In der Originalen Größe benötigt die Uhr selbst 0% CPU In gezoomter variante egal ob kleiner oder größer 5 > 6% es hat damit zu tun weil ich den Scale(Zoom) Factor dann noch zusätzlich berechnen muss. gruss |
AW: WatchKit... (Uhren Baukasten)
Zitat:
|
AW: WatchKit... (Uhren Baukasten)
Liste der Anhänge anzeigen (Anzahl: 1)
Irgendwie komme ich nicht zurecht mit dem Drag und Drop. Angehängt meine (hilflosen) Versuche, die Zeiger auf der Uhr zu positionieren.
Wäre ein einfacher Klick auf eine Uhr, auf einen Zeiger nicht einfacher anstelle des Drag und Drops? Vielleicht mache ich ja etwas falsch oder ich verstehe den Sinn und Zweck des Drag und Drop nicht. ... |
AW: WatchKit... (Uhren Baukasten)
Liste der Anhänge anzeigen (Anzahl: 1)
Ist bei mir ähnlich, ich bekomme es auch nicht gebacken eine Uhr zu basteln.
Anhang 49305 so sehen meine besten Versuche aus, wenn Überhaupt mal die Objekte da bleiben. Nur der Minuten-Zeiger reiht sich nach paar Sekunden alleine ein. |
AW: WatchKit... (Uhren Baukasten)
Zitat:
1. Wenn man die Zeiger direkt auf das Blatt droppen will dann muss man schon die Maus auf die Mitte platzieren und dann das Objekt fallen lassen. 2. Die andere Methode wäre diese das du den Zeiger auf das Working Area ablegst und anschließend diesen nochmals anklickst danach sollte ein Rechteck gezeichnet werden das dir genau zeigt wo hin du den Zeiger ziehen musst. Zitat:
Ich wollte\muss lernen wie ich meine Objekte von einem beliebigen Container in einem anderen verschieben kann. Das war für mich der Sinn des Projektes so wie du sehen kannst funktioniert es recht gut. Zitat:
Zitat:
Aber! Man kann die Zeiger auch absichtlich neben den Mittelpunkt fallen lassen :) Dann sieht es bei mir genauso aus. EDIT: Siehe Anhang es gibt die Möglichkeit für Blinde es visuell anzeigen zu lassen wohin das Objekt muss. Lege das Objekt zuvor auf das Working Area ab klick es erneut an danach siehst du diese Objekte einen Pfeil und 2 Rechtecke wenn du das Objekt mit der Maus festhältst und verschiebst So noch einfacher geht es wirklich nicht. Nebenbei ihr wisst schon wie schwierig es ist einen Bereich von 1 Pixel exakt zu treffen? Dafür gibt es die Snap Funktion! Die das für euch erledigt wenn ihr zu Hektisch seid und keine Zeit habt. PS: @API Mit was hast du das Video erstellt? gruss |
AW: WatchKit... (Uhren Baukasten)
Die Geschwindigkeit war es :thumb: , also so funktioniert es bei mir:
Uhr in Box droppen, Zeiger in Box droppen, Zeiger nochmal auswählen (das die grüne Linie dargestellt wird) und langsam Richtung Oben/Links bewegen dann "snapped" es auch, das gleiche mit zwei weiteren Zeigern und gut ist. Sorry, war ein Bedienfehler, klappt gut! |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Wenn du zu schnell bist darfst du dich nicht von der Darstellung des Zeigers verwirren lassen. (Irgendwie gibt es hier ein zeitliches Problem) Lass die Maus da los wo du meinst das es korrekt ist nicht da wo der Zeiger sichtbar ist. gruss |
AW: WatchKit... (Uhren Baukasten)
Wie Emil schrieb... das mit den Uhren ist schick anzuschaun, aber der "Wert" der Lösung steckt im universellen Ansatz und der offenen Realisierung.
Ich werde da mal in einer freien Minute was mit quadratischen und Rechteckigen Grundformen mit verschiedenen Oberflächen(Glas,Plaste,Alu,Stahl,Messing,Bronze,K upfer,Silber,Gold jeweils matt oder glänzend) angehen. Darauf können dann Symbole mit oder ohne Rahmen und Text, Leuchtflächen, Displays(7Segment oder grafische OLEDs), Touchflächen frei posititioniert und angeordnet werden. Wenn fertig kann Architekt oder Innenraum/Licht-Designer sich das in virtueller Funktion testen und wenn möglich passend zu einer Basis-Serie beauftragen... im Hotelbereich für EdelSuiten oder HighEnd Smarthomes kommt so in Kleinstückzahl individualisierbares und real produzierbares Design echt gut(Jung, Merthen, Bush/Jäger können zwar viel, aber da ist auch die Stärke von Firmen wie Messerschmitt oder Interrel :) Win10 oder XY fähig und wie bedienbar.. da ist doch vieles ne Frage des Geschmacks... die Funktion für Design und Visualisierung ist top! |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Es ging mir bei den Projekt darum DragDrop zu implementieren um nichts anders. Das es auch einfach geht mit einem einfachen Doppelklick auf einen Zeiger ist mir bekannt und wäre ein einfaches das umzusetzen Aber darum geht es hier bei diesen Projekt nicht. Die Antwort bezieht sich auf universellen Ansatz Falls du das damit meinst ;) Wenn nicht vergiss den Post. Falls du mit universellen Ansatz das meinst! Ja es wäre ein einfaches das Projekt zu einem Raumgestalter umzuwandeln. Man könnte dann zum Beispiel einen Plan einer Wohnung als Hintergrund wählen Und Raumgestaltungs Objekte Schränke, Couch und was es da alles so gibt und fertig. Es kommt halt auf die Grafik Objekte an die man verwendet. Habe mal ein neues Pic erstellt zu Demonstrations zwecken. Den Plan kann man verschieben und entsprechende Objekte platzieren wenn man denn möchte. gruss |
AW: WatchKit... (Uhren Baukasten)
generelle Vorschläge:
Wenn man ein Bild dragged, das es Zentriert auf Mausposition ist? Weil beim drop kommts so raus, also da stimmt dann nicht das visuelle mit den tatsächlichen überein. Wenn man das Extra Fenster mit Farbe auf hat, das dort der [X] Knopf das Fenster schließt? Schön wäre bei den Color-Settings eine ComboBox mit Objekt-Auswahl (Bild und Zeiger H/M/S einzeln). Uhren Baukasten Vorschläge: Wenn man eine Uhr fertig hat und ein anderes Ziffernblatt droppt, wäre es schön wenn dabei die Zeiger nicht gelöscht werden sondern das alles beibehalten bleibt, vielleicht sogar geänderte Farbe, da ist ja ein "Reset" button vorhanden. Vielleicht eine Checkbox anbieten das Zeiger gleich beim drop gesnapped sind? |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Du kannst es einfach testen suche einen Zeiger aus klick drauf und warte ein paar Millisekunden erst dann verschiebe ihn danach ist er genau da wo sich auch der Mauszeiger befindet. Zitat:
Ich öffne das Fenster über den Thread des MainMenu und über diesen Thread soll es auch geschlossen werden. Zitat:
Ein klick auf das entsprechende Objekt und du kannst die Farben ändern wie du willst. Zitat:
Es macht keinen sinn und ist auch in der Realität nicht so.. Wenn ich als Uhrmacher ein Zeigerblatt ersetze dann gibt es keine Zeiger die sich noch auf dem Blatt befinden. Beispiel: Du hast alle Zeiger addiert und änderst den Sekundenzeiger dann bleibt alles wie es ist nichts wird gelöscht nur der Sekundenzeiger ersetzt. Du hast alle Zeiger addiert und änderst den Minutenzeiger dann wird der Sekundenzeiger gelöscht und der Minutenzeiger ersetzt. Du hast alle Zeiger addiert und änderst den Stundenzeiger dann wird der Sekundenzeiger und Minutenzeiger gelöscht und der Stundenzeiger ersetzt. Du hast alle Zeiger addiert und änderst das Zeigerblatt dann wird alles gelöscht und das Zeigerblatt (Ziffernblatt? wie auch immer :lol: ) ersetzt. Das ist die Reihenfolge auch in der Realität. Wenn ein Uhrmacher den Minutenzeiger ersetzen will muss er zuerst den Sekundenzeiger entfernen. ;) Was ich noch machen könnte das man die aktuelle Einstellungen speichern kann. Mal sehn. Danke für das Feedback. gruss |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Zitat:
|
AW: WatchKit... (Uhren Baukasten)
Zitat:
Da scheint mir doch irgendwie Schadenfreude aufzukommen. Nebenbei ich habe auch noch einen anderen Fehler entdeckt. Das letzte Objekt wird nicht addiert. Alle Abfragen mit
Delphi-Quellcode:
0 to CountMax - 1
müssen mit
Delphi-Quellcode:
0 to CountMax
ersetzt werden Und alle Listen bsp. FaceList
Delphi-Quellcode:
CountMax := FaceList.Count - 1;
muss mit
Delphi-Quellcode:
CountMax := FaceList.Count;
ersetzt werden Ansonsten wird die letzte Uhr nicht angezeigt das gleiche gilt für die Zeiger!
Delphi-Quellcode:
zu
HourMax := HourList.Count - 1;
Delphi-Quellcode:
HourMax := HourList.Count;
Delphi-Quellcode:
zu
MinMax := MinList.Count - 1;
Delphi-Quellcode:
MinMax := MinList.Count;
Delphi-Quellcode:
zu
SecMax := SecList.Count - 1;
Delphi-Quellcode:
SecMax := SecList.Count;
Sorry.. Ich hoffe ihr könnt es selbst oder müsst bis zum nächsten Update warten wenn noch eins kommt. gruss |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Im Anhang 1 Archiv mit 2 Vid's damit du sehen und lernen kannst wie man DragDrop verwendet. Beide varianten einmal direkt DragDrop und einmal ablegen auf Working Area und Drop. *.wmv Format Anhang der Videos gelöscht. gruss |
AW: WatchKit... (Uhren Baukasten)
Wer möchte kann das noch selber addieren..
Delphi-Quellcode:
Die Datei im Anhang muss nach Skins\Watcheskit kopiert werden.
function WinMain(hInstance: HINST; hPrevInstance: HINST; lpCmdLine: PChar; nCmdShow: integer)
: integer; stdcall; var Spinner: ISkinSpinner; SpinnerHandle: HWND; SpinnerResult: HWND; SpinnerFile: string; SpinnerAnimate: BOOL; //... begin // Skin Initialisieren und einstellungen laden SKAERO_InitSkin(MainHandle, DefSkin, false, true); Spinner := CTRL_SpinnerCreate; SpinnerFile := SKAERO_FOLDER + 'Spinner.png'; SpinnerHandle := Spinner.CreateWindow(GetDesktopWindow); SpinnerAnimate := Spinner.Start(GetDesktopWindow, SpinnerHandle, SpinnerFile, 30); //... SetForegroundWindow(MainHandle); SetFocus(HSprFace); if SpinnerAnimate then begin SpinnerResult := Spinner.Stop; if SpinnerResult = 0 then begin Spinner._Release; Spinner := nil; end else // mach was mit error.. MsgBox oder was auch immer, "Window wurde nicht geschlossen" end; SetTimer(HSprFace, SCALE_TIMER, 0, nil); //... end; Anhang gelöscht ist im neuen Update enthalten. gruss |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Ich habe noch ein "SCALE_TIMER: Cardinal;" bei Var aufgenommen, uninitialisiert |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Dann solltest du das Archiv mal aktualisieren bzw. neu laden. Denn es gibt ihn definitiv!
Delphi-Quellcode:
Den Spinner Kram addieren das andere ist vorhanden und nur im Code eingefügt um zu zeigen an welcher Position die Änderungen eingefügt werden sollen.
SetForegroundWindow(MainHandle);
SetFocus(HSprFace); SetTimer(HSprFace, SCALE_TIMER, 0, nil); //<<<<<<<<<<<<<< // Windows Messagen verarbeiten while GetMessage(Msg, 0, 0, 0) do begin if IsDialogMessage(MainHandle, Msg) = false then begin TranslateMessage(Msg); DispatchMessage(Msg); end; end; Zitat:
gruss |
AW: WatchKit... (Uhren Baukasten)
edit
Ok nun ist alles bei mir mit last-release abgeglichen, ist ja wirklich nur diese eine Änderung nötig gewesen für mein Delphi, nun weiß ich ja wo/wie und komme in Zukunft gut damit klar! |
AW: WatchKit... (Uhren Baukasten)
Sorry ich verstehe dich nicht!
Du sagtest SCALE_TIMER wäre nicht definiert und du hättest es selber aufgenommen. Wenn dem so ist dann verwendest du eine alte Version. In der neuen ist es definitiv vorhanden. uGlobal.. zeile 60 SCALE_TIMER = 3; Zitat:
Zitat:
Diese Funktionen fehlen dann bei dir alle. gruss |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Die Faces werden skaliert du siehst das Flare du hast einen mirror Effekt wenn dem so ist OK! gruss |
AW: WatchKit... (Uhren Baukasten)
Zitat:
|
AW: WatchKit... (Uhren Baukasten)
Liste der Anhänge anzeigen (Anzahl: 1)
Anhang 49322 Hier siehst Du warum ich mir im Extra-Fenster eine Objekt-ComboBox wünsche.
Was hab ich da ausgewählt und skaliert und gedreht? Den Hintergrund. |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Und scheint logisch wenn du den Quelltext änderst und nicht weist was du tust. Den normal kann man den Hintergrund nicht ändern der wurde von mir mit SetObjectLocked geblockt. Ist ein Fehler darf normaler weise nicht passieren sorry. Aber dafür braucht man keine Combo muss das nur fixen. gruss |
AW: WatchKit... (Uhren Baukasten)
Zitat:
|
AW: WatchKit... (Uhren Baukasten)
Anleitung um den Fehler mit Deinem Build reprodurierbar nach-zu-voll-ziehen:
Starte Deine .exe DragDrop ein Ziffernblatt Öffne Extra-Fenster DragDrop ein weiteres Ziffernblatt Verändere im Extra-Fenster was auch immer, es wird der geblockte Hintergrund genommen. Gruß :thumb: |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Delphi-Quellcode:
function SprKitCallBack(WinHandle: HWND; Msg: UINT; wP: WParam; lP: LPARAM): LRESULT; stdcall;
Delphi-Quellcode:
gruss
WM_LBUTTONDOWN:
begin if (ID <> -1) then if ID <> ID_KBACKGROUND then gnFocusID := ID; end; |
AW: WatchKit... (Uhren Baukasten)
Ok, hab die Stelle im Source mit meinem Delphi angepasst und getestet, nun ist Hintergrund wirklich aussen vor, also Problem gelöst:thumb::thumb:
Also das "end;" ist bei mir nicht direkt so wie Du es darstellst, das liegt viel tiefer im Code. |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Zitat:
Ich blicke da langsam nicht mehr durch. Ich habe die Änderungen in dem Projekt vorgenommen was im Post 1 abgelegt ist. Es muss also alles gleich sein. Hier noch ein Nachschlag..
Delphi-Quellcode:
function SprKitCallBack(WinHandle: HWND; Msg: UINT; wP: WParam; lP: LPARAM): LRESULT; stdcall;
Delphi-Quellcode:
Wenn das Objekt geschlossen (Locked) wird darf es nicht mehr gezoomt oder rotiert werden.
IDM_Lock:
begin ID := gSprKit.GI_MouseOverObjectID; if (gSprKit.GD_GetObjectLocked(ID)) then begin trbZoom.Enabled := true; trbRotate.Enabled := true; gSprKit.GD_SetObjectLocked(ID, false); end else begin trbZoom.Enabled := false; trbRotate.Enabled := false; gSprKit.GD_SetObjectLocked(ID, true); end; if (ID > 0) then gaSprite[ID].locked := gSprKit.GD_GetObjectLocked(ID); end; gruss |
AW: WatchKit... (Uhren Baukasten)
Ich muss nochmal auf den Fehler mit dem Hintergrund kommen, sorry.
Also gleiche Vorgehensweise, .exe starten dragdrop bild extras öffnen dragdrop bild nun verändere Farbe, da wird dann der Hintergrund bedient. Irgendwann reagiert gar nichts mehr korrekt, da verhaspelt sich was und Programm friert ein. Übrigens je mehr man mit "Hue" rumspielt um so schneller wird der gesamte Hue Slider funktionslos. Der Rest der Slider arbeitet spitze! (Jedenfalls konnte ich nichts schlimmes beim herumspielen entdecken) Ich habe auch ein paar Probleme mit meinem Delphi und der Dll, aber das schreib ich dann in mail wenn es soweit ist. |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Und ohne das du den original source verwendest kann ich da nichts tun. Ich habe schon wunde Finger vor lauter Slider hin und her bewegen da friert nix ein und alles lässt sich so bedienen wie es sein soll inklusive HUE Slider. Der Hintergrund Working Area verändert sich auch nicht. Da muss ich leider passen. Kommt mir langsam vor als wenn ich Diablo am zocken wäre meine arme Maus. PS: ![]() gruss |
AW: WatchKit... (Uhren Baukasten)
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
A) Es ist immer dein Binary was ich benutze B) Es ist demzufolge immer Dein Original Source den ich nicht benutze da ich nur .exe aufrufe C) Wenn ich etwas ändere, dann nur die API/DLL damit ichs kompilieren kann, mehr nicht Ich hoffe das ist jetzt klar. Den Beitrag hatte ich gelöscht weil ich den falschen editiert/gespeichert hatte, kann ich auch wiederherstellen falls ich noch Zugriff darauf haben sollte. Ich lade es nun runter, ich PN Dich wenn fertig. Anhang 49324 So sieht es mit Deinem Kompilat übrigens aus, kurz darauf stürzt Programm dann immer ab. |
AW: WatchKit... (Uhren Baukasten)
Zitat:
Zitat:
Denn so wie ein Paar Beiträge vorher schon gesagt sollte dir dann klar sein das in der alten EXE das Problem mit dem Hintergrund noch nicht gefixt wurde. ![]() Zitat:
Da du den Nicht verwendest inklusive meiner Änderung postest du Fehler die nicht mehr vorhanden sind. Zitat:
Was denn nun die Originale EXE oder die von dir geänderte. Wenn es die von dir geänderte ist kann der Fehler nicht mehr auftreten weil der Hintergrund niemals den Focus erhalten kann. Ich bin langsam das hier :? gruss |
AW: WatchKit... (Uhren Baukasten)
Liste der Anhänge anzeigen (Anzahl: 1)
Okay ich habe mich falsch Ausgedrückt.
Ich meinte, ich Benutze Code aus Post #1 mit den Änderungen die Du seit dem hier geschrieben hast. Also mein Kompilat enthält Post #1 .exe inklusive des Fixes das man Hintergrund nicht mehr drehen oder zoomen kann. Inklusive Spinner was damit nichts zu tun hat, Fehler bezieht sich auf ein Zeile drüber. Damit ist der Schnappschuss entstanden. Der Einzige Unterschied sollte sein das ich in der Api
Delphi-Quellcode:
abgeändert habe und die Dll die Du mir dafür gabst verwende.
function CTRL_SpriteObject(): TArray<TgObj>; stdcall; external dllfile;
edit Im Anhang der Source-Code von so wie er bei mir arbeitet. re-Edit Okay, Du bist es Leid, ich bin schon still. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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