![]() |
ENGLISH VERSION |
|
![]() |
Links | | | Forum | | | Kommentare | | | News melden |
![]() |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
![]() |
amiga-news.de Forum > Suche | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
|
||||||
whose
Nutzer
23.06.2006, 17:07 Uhr [ - Direktlink - ] |
Thema: Karten bei DCE?
Brett: Amiga, AmigaOS 4 Zitat: Größtenteils kann ich mich dem anschließen. Mir stellt sich aber die Frage, wie manche Leute auf die Idee kommen, daß Güter (gleich welcher Art), die ihnen für eine befristete Dauer (in diesem Fall: angemessene Zeit für Reparatur/Schadenfeststellung) überlassen wurden, "automagisch" in ihre volle Verfügungsgewalt übergehen, sobald sie (subjektiv) einen "Totalschaden" feststellen. Das ist schlichtweg nicht in Ordnung (den rechtlichen Standpunkt lasse ich hier mal außen vor, streng genommen handelt es sich dabei um Unterschlagung, wenn das stillschweigend geschieht). Apropos rechtlich: Du irrst, wenn Du glaubst, daß Verfahren und Gegenverfahren irgendwie miteinander verbunden werden könnten (auch das gibt es in Deutschland nicht). Sollte eine Gegenklage wegen z.B. Verleumdung angestrengt werden, bleiben es trotzdem zwei unterschiedliche, getrennte Verfahren (sogar mit unterschiedlichen Gerichtsständen, falls für beide Parteien nicht das gleiche Amtsgericht zuständig ist) und die Initialkosten für die Klage trägt grundsätzlich erst einmal der Kläger (was aber mit dem Streitwert verhältnismäßig wenig zu tun hat). Was unterm Strich dabei rauskommt (mögliche Insolvenz der zuerst klagenden Partei) ist mehr eine Frage der Risikobereitschaft. Abgesehen davon: Abgerechnet wird auch vor Gericht immer erst zum Schluß ![]() Das mußte ich durch eine Schadenersatzklage lernen, die ich angestrengt habe, weil man mir im Zuge eines Verfahrens, das gegen mich lief, Sachen ungerechtfertigt beschädigt hatte (Haussuchung, nette Erfahrung ![]() Zitat: Dem wiederum möchte ich mich voll anschließen. Redet erstmal mit Herrn Dellert, ruhig, sachlich, zeigt ihm noch einmal die Eigentumsverhältnisse auf (die Klauseln mit Sätzen der Art "Zur Reparatur/Schadenfeststellung eingegebene Artikel bleiben bis zur vollständigen Bezahlung des Aufwandsentgeldes Eigentum von..." ziehen nicht. Wird keine Rechnung gestellt, ist der Dienstleister nicht berechtigt, Gegenstände seiner Kunden einzubehalten. Die bis dahin entstandenen Kosten sind bis zur Rechnungsstellung sein Bier. Einbehalt ohne Rechtsgrundlage, also Rechnung und Information des Kunden, ist schlicht Unterschlagung). Bittet ihn höflich, die Teile wieder zurückzuschicken, wahlweise mit Portoübernahme, dann sollte sich da eigentlich was machen lassen. Falls er die Karten nicht mehr hat, fragt ihn höflich, wie er auf die Idee kommt, daß er sie "einfach entsorgen" kann, ohne Eure Zustimmung einzuholen und macht ruhig aber bestimmt deutlich,daß das nicht der korrekte Weg ist. Ich denke, mit etwas Ruhe und Geduld kommt man da durchaus weiter. Selbst, wenn da nichts mehr zu erreichen ist, lohnt es nicht, die dicken Keulen zu schwingen. Verfahren bringen wenig, die Karten kommen dadurch auch nicht zurück, wenn sie nicht mehr existieren. Da kommt letztendlich nur Ärger und ein schwacher finanzieller Trost bei heraus. Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
22.06.2006, 21:56 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Uiuiui, ich seh grad noch nen Patzer (der war schon in der ersten Fassung drin, total übersehen): code:/* Die Uhr hat sich gemeldet... */ if(1UL << TimerMP->mp_SigBit) das müßte code:if(Signale == (1UL << TimerMP->mp_SigBit)) lauten. In der ursprünglichen Fassung ist es mehr oder weniger Zufall, daß es funktioniert, wie gedacht. Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
22.06.2006, 18:59 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Ah, ok, so war das gemeint. Ja, in den Fällen ist das klar. Der Satz hatte mich halt etwas verwirrt ![]() Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
22.06.2006, 14:36 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Wie meinst Du das? Meinst Du mit Antwort eine Nachricht, die als Reply auf eine eigene Nachricht eintrifft? Die braucht man nicht wieder zu beantworten, da man selbst "Besitzer" des Speichers der Nachricht ist. Das ist z.B. bei den Nachrichten eines Devices als Antwort auf einen IORequest der Fall. Solltest Du das anders meinen, wäre ne kleine Erläuterung nicht schlecht. Irgendwie ist der Satz mit den Antworten etwas verwirrend ![]() Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
22.06.2006, 10:50 Uhr [ - Direktlink - ] |
Thema: Typfrage
Brett: Programmierung Zitat: *patsch* ja klar... es kommt ja darauf an, was der Compiler später sieht. Hätte ich mit etwas nachdenken auch selbst drauf kommen können. Danke ![]() Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
22.06.2006, 01:52 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Argh, ich seh grad, ich hätte in der Wait()-Schleife TR_ADDREQUEST vor TR_GETSYSTIME setzen sollen... naja, wers ausprobieren möchte, kann die Stelle ja umsortieren. Hinweis für OS4-Nutzer (und OS4-C-Anfänger): Linken mit libauto.a und libamiga.a, zusätzlich #define __USE_INLINE__ setzen (wegen der geänderten Konventionen für Funktionsaufrufe ala "IFace->blablabla()", mit dem #define wird die herkömmliche Art benutzt) und die OpenLibrary()/CloseLibrary()-Geschichten auskommentieren/entfernen. Selbiges gilt für die Deklarationen der Library-Strukturen (IntuitionBase und DiskFontBase), auskommentieren/entfernen. -- --- ![]() ![]() |
|||||
whose
Nutzer
22.06.2006, 01:28 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Hier in der korrigierten und erweiterten Fassung: code:/* * Eine einfache Digitaluhr * Diese Version verwendet das timer.device. * (und geht, je nach Zeit zum Start, manchmal etwas nach Edit: Dussligen Fehler bei "if(Signale & (1UL << TimerMP->mp_SigBit))" (das "==") beseitigt, WaitIO() eingefügt (danke an thomas). -- --- ![]() ![]() [ Dieser Beitrag wurde von whose am 22.06.2006 um 01:39 Uhr geändert. ] [ Dieser Beitrag wurde von whose am 22.06.2006 um 03:16 Uhr geändert. ] [ Dieser Beitrag wurde von whose am 26.06.2006 um 16:22 Uhr geändert. ] |
|||||
whose
Nutzer
21.06.2006, 23:28 Uhr [ - Direktlink - ] |
Thema: Typfrage
Brett: Programmierung @Reth: Öhm... nicht erschlagen, falls das jetzt Unsinn sein sollte (habe mir da nie wirklich Gedanken drüber gemacht), aber sind die Flags per se nicht typlos? Es sind ja nur #define s... Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
21.06.2006, 22:03 Uhr [ - Direktlink - ] |
Thema: richtigstellung von Kommentar von whose
Brett: Get a Life @Blackbird: Zitat: Ich hoffe inständig, daß Bernd Dich irgendwann erhört. Hier klappt es ja noch nicht so, wie man an seinem letzten Posting sieht. Zitat: Das mache ich eigentlich schon länger. Das Dumme dabei ist, daß das einfach nicht funktioniert, wenn eine Seite "nachgibt" und die andere Seite das als Anlaß sieht, bei jeder sich bietenden Gelegenheit nachzustoßen. Das siehst Du z.B. sehr schön an seinen "Angeber"-Vorwürfen. Gesagt habe ich ihm damals (unter der Annahme, daß das nicht an die Öffentlichkeit kommt, weil ich einfach nicht garantieren kann, daß ich diese Arbeit "in Kürze" aufnehme), daß ich, sofern Zeit und Möglichkeiten dafür da sind, einen GUI-getriebenen Debugger für OS4 basteln wollte. Nun, ein Grundgerüst davon existiert inzwischen, aber nichts, was man in die Öffentlichkeit geben könnte. Soweit, so ungut. Bernd ist aber fest der Meinung, ich hätte ihm einen "definitiven Termin" genannt und er beharrt darauf. Meiner Meinung nach ist er in dieser Hinsicht (jemand sagt ihm mal etwas, sagt ihm wenig später was, was ihm nicht gefällt) doch ziemlich kindisch in seinem Verhalten. So manches Mal denke ich, er hat ein Problem damit, nicht in allen Bereichen der Programmierung von AmigaOS "der König" zu sein und, was noch viel schlimmer für ihn zu sein scheint, nirgendwo wirkliches "Mitspracherecht" zu genießen (vor allem, was OS4 angeht). Jedes Mal aufs Neue hört man von ihm, wie einfach doch alles "zu fixen" ginge, wenn er das machen würde. Wenn man ihm dann sagt, daß das aber umgekehrt auch der Fall ist (Fall AB2), dann geht er sofort an die Decke. Dann schlägt er blind und rasend vor Wut verbal um sich und merkt nicht einmal, daß er genau da hingesteuert wird, wo er vorher "niemals" hin wollte. Sobald er das merkt, wird er nur noch persönlich, "keine Ahnung", "Dummschwätzer", "Angeber", "Schönredner" sind nur einige der (mehr oder weniger) Schimpfwörter, mit denen er dann um sich schmeißt. Ich bin davon auch nicht so ganz frei, das gebe ich offen zu. Zum Schluß habe ich ihn als "impertinentes und kindisches A***loch" bezeichnet. Ich möchte mich dafür hier in aller Öffentlichkeit entschuldigen (obwohl die Öffentlichkeit davon bisher nichts wußte, wie ich annehme) und ich hoffe, daß dieses Drama nun endlich mal ein Ende findet, nachdem ich mich zum größten Teil nicht mehr um seine Posts kümmere. Eventuell regt ihn das ja dazu an, mal ganz normal und sachlich über alles nachzudenken und evtl. sogar ein klein bißchen seiner doch recht festgefahrenen Geisteshaltung zu überdenken. Wäre schön für die Amiga-Gemeinde, denke ich. Nach außen sehen solche Diskussionen, wie er sie ständig führt, jedenfalls nicht besonders gut aus. Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
21.06.2006, 16:05 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung @Mad_Dog: Ah, ok ![]() Mit OS4 funktionierts übrigens auch ganz nett ![]() Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
21.06.2006, 15:41 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung @Mad_Dog: Auch ein schönes Beispiel,vielen Dank dafür ![]() Eins ist mir aber aufgefallen: Wozu schickst Du das Kommando TR_GETSYSTIME? Für die Auslösung des Timerevents ist es nicht nötig und time() aus der Standardbibliothek macht meines Wissens nach das Gleiche nochmal. Noch eine Kleinigkeit: Das simple AbortIO() sollte hier zwar keine Schwierigkeiten bereiten, "schöner" ist aber folgender Schnipsel: code:if(!(CheckIO())) { AbortIO(TimerIO); } WaitIO(TimerIO); CloseDevice((struct IORequest *)TimerIO); AbortIO() kann Schwierigkeiten bereiten, wenn man einen Request versucht abzubrechen, der gar nicht (mehr) gesendet wurde. CheckIO() gibt in diesem Fall einfach ein TRUE zurück und ein AbortIO() ist nicht mehr notwendig. Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 18:46 Uhr [ - Direktlink - ] |
Thema: richtigstellung von Kommentar von whose
Brett: Get a Life @bernd_roesch: Ja, wenn Bernd Roesch was großspurig ankündigt, aber keine Taten folgen läßt, dann ist das natürlich was völlig anderes und es ist absolut okay, sich darum zu drücken, "wenn's ja sowieso niemanden zu interessieren scheint"... ![]() Aber mal eine andere Frage: Was genau wolltest Du jetzt eigentlich "richtigstellen"? Auf meine Aussage hin, daß Du Dich dauerhaft geweigert hast, etwas an AB zu machen, bis Hyperion "OS4 fixed" kam von Dir ja nur, daß sie das ja nun getan hätten und Du "nix an AB2 zu ändern brauchtest". Das erstere stimmt weiterhin (leicht via Forums- und Kommentarsuche zu ermitteln), das zweitere ist schon ein wenig dubios, wie Du selbst zugeben müßtest, da Du Dich auch noch eine Zeit nach Update4 geweigert hast, den Debugger in dem von Dir bereits erwähnten Bereich stillzulegen (was ja nach Deiner Aussage ne Wahnsinns-Arbeit war ![]() Komischerweise ging es, innerhalb weniger Tage, nachdem wir unseren Mailverkehr aufgenommen hatten und Deine recht persönlichen Ansichten zu meiner Person immer heftiger wurden, da die Kleinigkeit zu ändern. Das Blackbird damit so wahnsinnig viel zu tun hatte, nehme ich Dir schlicht nicht ab (da Du ihn wesentlich später ins Gespräch brachtest. Bugreports mit Reaper-Ausgabe hast Du von mir bekommen anfangs, was Dir natürlich wieder nicht genügte, da man die 68K-Register-Inhalte darin nicht ersehen kann. Da war Deiner Meinung nach ausnahmsweise mal nicht Hyperion sondern ich Schuld dran ![]() Meine letzte Frage zu dem Themenkomplex (bevor ich mich hier ausklinke, weil ich nicht die Bohne Lust hab, absolut sinnfreie Diskussionen mit Dir zu führen) wäre nur: Muß das eigentlich so sein bei Dir? Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 14:16 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Das weiß ich auch nicht so wahnsinnig genau... aber wäre wohl die logischste Vorgehensweise, einfach die Antworten zu ignorieren... und wieder was gelernt (und hoffentlich behalten ![]() Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 13:58 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Ja, ich verstehe, was Du meintest. Und ich meinte etwas anderes, nämlich, daß Dir dadurch evtl. für Dich eigentlich wichtige Events verloren gehen. Ob sie gar nicht erst erzeugt werden oder ein Timeout haben, spielt da keine große Rolle, finde ich. Zitat:Zitat:Nee, sie stellen sich mitunter gar nicht erst an, wenn die Schlange zu lang ist. Aber wenn sie erstmal drin sind, bleiben sie auch da. Ich sagte ja auch "für die meisten Fälle". MOUSEMOVE-Events haben die eigene Queue mit begrenzter Länge, einige Events bleiben in der Message Queue erhalten. Ich kann mich aber ziemlich deutlich daran erinnern, daß es einige Intuition-Events mit Timeout gibt. Ich kann mich nur nicht so besonders konkret daran erinnern, welche das im einzelnen waren ("Libraries" immer noch nicht zur Hand, da unterwegs). IDCMP_SIZEVERIFY vielleicht? IDCMP_MENUVERIFY auf alle Fälle, das weiß ich aus leidvoller Erfahrung. Um den Rest habe ich mich noch nie besonders kümmern müssen, daher bin ich mir da alles andere als sicher. Ich sollte mich mal wieder intensiv mit Intuition beschäftigen, denke ich. Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 13:31 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Wo ist der Sinn? ![]() Du meinst sicherlich, die Uhrzeit in der Titelzeile anzeigen... Zitat: Hmm, ich denke mal, für solche Anwendungsfälle fehlen schöne Beispiele. Hast Du da evtl. etwas auf Lager? Wenn das so weiter geht, wird Ralf mehr prima Spiele und Anwendungen in MaxonBasic basteln, Informationen kriegt er ja reichlich ![]() Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 13:21 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Hm, auf die Ticks bezogen hat sich das Thema im Grunde ja schon erledigt. Es landet exakt einer in der Message Queue, bis er beantwortet wird. In Bezug auf die IntuiMessages stimmt das aber auch nur so lange, wie der Timeout der jeweilige Message nicht erreicht ist. Wenn mans ganz unklug anstellt, gehen da durchaus Ticks flöten (und andere Messages auch). Bei MOUSEMOVE-Events gibt es eine begrenzte Queue, da können auch Events flöten gehen, wenn man nicht schnell genug antwortet (ist mir oft genug passiert). Es hängt also vom Sender ab, ob die Messages bis in alle Ewigkeit "an der Kasse stehen". Bei Intuition ist es für die meisten Fälle wohl so, daß die "nach Hause gehen, wenn zu viele an der Kasse stehen und ihnen die Warterei auf die Nerven geht". Beim timer.device liegt der Fall etwas anders (bei Devices im Allgemeinen), denn da ist man selbst der Sender. Allerdings können einem auch da Events flöten gehen, wenn man schläft. Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 12:53 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Auch das ist klar. Für ein simples Beispiel, was man mit IntuiTicks machen kann, langt es allerdings. Er kann ja z.B. das Uhr-Beispiel wieder aufgreifen, wenn der Kurs zum timer.device kommt. Denkbare Überschrift: "So baut man eine wirklich brauchbare WB-Uhr"... Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 12:48 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Was will uns der Autor damit sagen? Also, daß der nächste Tick erst dann wieder kommt, wenn ein Tick beantwortet wurde, ist inzwischen klar. Bis zu dem Zeitpunkt, da Thomas das klarstellte, waren das nur Vermutungen. Steht auch dabei. Zitat: Bei den IntuiTicks wohl nicht, bei Messages im Allgemeinen schon. Laß doch mal Messages von z.B. dem timer.device eintrudeln, hole die Messages nicht bzw. nur sehr selten ab und beende das Programm irgendwann einfach. Dann hast Du viele, unzufriedenen Kunden. Ein paar sind inzwischen sogar schon nach Hause gegangen ![]() Zitat: Ja, das ist nun klar. Grüße -- --- ![]() ![]() [ Dieser Beitrag wurde von whose am 20.06.2006 um 13:01 Uhr geändert. ] |
|||||
whose
Nutzer
20.06.2006, 12:32 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Sie war's, sie war's!!!... ermh, er war's, er war's! ![]() Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 12:26 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Wenn Du virtuell gesteinigt werden möchtest... ![]() Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 12:08 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Das ist klar. Ich meinte halt, daß es für Dein Beispiel in Sachen Uhr völlig ausreichend ist, mit IntuiTicks zu arbeiten. Um das "öfter als nötig"-Zeichnen zu vermeiden, langt die Geschichte mit dem Vergleich, ob sich die Sekunden inzwischen verändert haben, auch völlig hin. Das timer.device bietet da schon andere Möglichkeiten, deshalb hab ich das zuerst auch angeregt. Ist halt die Frage, ob man derart genaues Timing wirklich braucht. Für Ralf scheinen die IntuiTicks ja auszureichen. @bubblebobble: Danke für die Klarstellung. Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 11:50 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Ist doch für den Zweck auch völlig ausreichend. Wenn Du es etwas "genauer" haben willst, kannst Du das Beispiel ja so abändern, wie Ralf es gemacht hat. IntuiTicks als "Metronom" und z.B. CurrentTime() (dos.library, wenn ich nicht irre) um herauszubekommen, ob sich bei den Sekunden etwas getan hat. Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
20.06.2006, 11:35 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung @thomas: RKM "Devices" Third Edition. Aber lies ruhig mal AmigaMail. Schönes IntuiTick-Beispiel. Grüße -- --- ![]() ![]() [ Dieser Beitrag wurde von whose am 20.06.2006 um 11:40 Uhr geändert. ] |
|||||
whose
Nutzer
20.06.2006, 00:31 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung @Ralf27: Ach, so schwierig ist das alles nicht, wenn man erst einmal drin ist. Ich z.B. benutze nur noch das timer.device, nachdem ich einmal begriffen hatte, wie das funktioniert. Ist im Grunde genauso simpel wie mit den IntuiTicks. Auch die Geschichte mit den Datatypes ist, dank Thomas' wirklich guter Beispiele, nicht so schwierig. Kennst Du ja ![]() Ach so, dann verwendest Du die Ticks quasi als "Metronom", auch nicht schlecht. Passieren kann da eigentlich nichts, da Du die Messages alle abholst. Kann nur mal sein, daß der "Start" nach dem Laden etwas länger dauert, als er müßte. Das müßte sich mit dem Modifizieren des IDCMP beheben lassen. Edit: Vertippser. Grüße -- --- ![]() ![]() [ Dieser Beitrag wurde von whose am 20.06.2006 um 00:34 Uhr geändert. ] [ Dieser Beitrag wurde von whose am 20.06.2006 um 00:36 Uhr geändert. ] |
|||||
whose
Nutzer
20.06.2006, 00:22 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung @Ralf27: Dann paßts ja. Aktualisierst Du mittels der Ticks zufällig einen Zähler, um die Sekunden zu ermitteln? Laß Dir den doch mal ausgeben, dann siehst Du, ob die Anzahl paßt oder ob Du irgendwo einen kleinen logischen Fehler eingebaut hast. Der Zähler müßte dann ja einen "Vorsprung" von ca. 20 haben, wenn Du beim Start knapp 2 Sekunden "verbrätst". Wenn Deine Vermutung stimmt und die Ticks erst kommen, wenn Du wartest, müßte in der 1. Sekunde nach Start der Zähler irgendwas um die 10 erreichen statt 30. Ach ja: Soweit ich weiß, kann man den IDCMP auch "zwischendrin" modifizieren. Das würde bedeuten, daß Du die IntuiTicks "aussetzen" kannst, bis Deine Daten geladen und verwurstet sind und sie dann wieder "zulassen". Wie das genau und korrekt geht, erklärt aber besser Thomas, ich hab das RKM "Libraries" gerade nicht zur Hand. Grüße -- --- ![]() ![]() [ Dieser Beitrag wurde von whose am 20.06.2006 um 00:27 Uhr geändert. ] |
|||||
whose
Nutzer
20.06.2006, 00:04 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung @Ralf27: Da kann Dir Thomas sicher mehr zu sagen, Intuition ist definitiv sein Gebiet (ich habe mich mit den IntuiTicks nie tiefergehend beschäftigt). Aus meiner grauen Erinnerung heraus würd ich aber sagen, daß eine Warnung bezüglich des "überrannt Werdens" in den RKMs stand. Normal müßten auch Ticks auflaufen, wenn Du nicht wartest. Es ist natürlich auch die Frage, wie Du die Ticks auswertest. Wenn Du z.B. immer nur ein Mal GetMsg() aufrufst und nicht, bis GetMsg() NULL zurückliefert (!), dann kennst Du im Grunde schon die Ursache. Du erwischst in dem Fall halt immer nur den "zuletzt" aufgelaufenen Tick, "übersiehst" aber alle anderen, bereits aufgelaufenen Ticks. Beobachte doch mal das Zeitverhalten Deines Programms, indem Du irgendwelche eigentlich nutzlosen Schleifen durchzählen läßt und dann Wait()est. Normal müßten dann die Intervalle Deines Programms spürbar länger ausfallen als ca. 1 Sekunde, die IntuiTicks aber trotzdem "abgeholt" werden, halt nur später als sonst. Ich denke nämlich, daß Dein Programm zufällig ca. 1/10 Sekunde für seine Arbeiten braucht, bevor es wieder zum Wait() zurückkehrt. Da fällt es dann nicht auf, daß Ticks "verschlafen" werden. Das kann man aber ohne den Code zu sehen schlecht sagen. Ist halt ne Vermutung von mir ![]() Grüße -- --- ![]() ![]() [ Dieser Beitrag wurde von whose am 20.06.2006 um 00:06 Uhr geändert. ] [ Dieser Beitrag wurde von whose am 20.06.2006 um 00:10 Uhr geändert. ] |
|||||
whose
Nutzer
19.06.2006, 23:49 Uhr [ - Direktlink - ] |
Thema: 2.+3.Joystikknopf Signale
Brett: Programmierung Zitat: Offensichtlich nicht... und ich habe wieder was dazu gelernt. Die Amiga-CIAs haben doch noch einiges mehr auf Lager als die 6526 des 64ers. Ich frag mich nur, warum das in meinem "Amiga Intern" nirgends erwähnt wird... gabs da evtl. mehrere korrigierte Auflagen? Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
19.06.2006, 23:04 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Das "Kompliment" kann ich zurückgeben... Zitat: Also schon mal keine "exakt gleiche" Genauigkeit. UNIT_MICROHZ hat sogar noch das Problem des größeren Overheads, ist aber als Kurzzeit-Timer doch besser zu gebrauchen (und in sehr kurzen Zeiträumen nicht schlechter in der Genauigkeit als UNIT_ECLOCK, dafür deutlich einfacher zu handhaben, Konstanten reichen meist. Siehe AmigaMail Vol.1 oder 2, das weiß ich aus dem Kopf nicht so genau). Dafür kann einem bei der UNIT_ECLOCK durch die Rechnerei mit Variablen schon mal ein Event entwischen, wenn man nur auf normaler Priorität "läuft". Edit: Noch was vergessen: Bei hoher Systemlast kann sich der kleine Vorteil in Sachen Handhabung von UNIT_MICROHZ aber ins Gegenteil verkehren. Bei den IntuiTicks hast Du aber Recht, da lag ich aus dem Stegreif falsch. Danke für die Korrektur. @Ralf: Dann hast Du ja schon mal einen Aufhänger. Wenn Du keine besonders exakten Zeiten brauchst und Dein Programm eh aktiv sein soll, langen IntuiTicks für den Anfang. Abgesehen davon: Die ganze Zeit "abwarten" muß Dein Programm ja nicht, wenn Du das timer.device einsetzt. Streng genommen könntest Du das "Ende" der Wartezeit in einer Schleife abfragen (böse!). Allerdings müßte sich in Deinem Programm auch eine Stelle finden, wo Du in Erfahrung bringen willst, ob die gewünschte Zeit tatsächlich schon abgelaufen ist. Genau dann könntest Du darauf mittels Wait() warten. Das geht sogar im Zusammenspiel mit Intuition und dem IDCMP. Grüße -- --- ![]() ![]() [ Dieser Beitrag wurde von whose am 20.06.2006 um 02:15 Uhr geändert. ] |
|||||
whose
Nutzer
19.06.2006, 21:40 Uhr [ - Direktlink - ] |
Thema: Gesucht: Sekundentakt
Brett: Programmierung Zitat: Am schlauesten ist es eigentlich, das timer.device für diesen Zweck zu verwenden. Es ist im Grunde auch nicht so schwer, wie es anfangs vielleicht wirkt. Entsprechende Beispiele findest Du eigentlich überall, im Netz, auf der DevCD, in den RKMs (ich kann Dir aber, falls Du nichts passendes findest, einen Sourcecode-Schnipsel schicken, wahlweise auf Deutsch kommentiert ![]() Wissen mußt Du nur, wie man ein Device benutzt und auf das Signal von SendIO() wartet (mit DoIO() muß man zwar nicht ausdrücklich warten, kann allerdings mit dem eigenen Task/Prozess in dieser Zeit nichts machen, da dieser in den Wait-Zustand versetzt wird, bis das mit DoIO() ausgelöste Device-Kommando abgearbeitet ist. Hier "wartet" also DoIO() schon für Dich bzw. Deinen Prozess/Task). Mit dem IDCMP (sprich: IntuiTicks) kannst Du zwar auch arbeiten, allerdings bekommst Du da einen (ungefähren!) 50tel-Sekunden-Takt, müßtest also einen Zähler aktualisieren, um zu wissen, wann die Sekunde (ungefähr!) vorbei ist. Ungefähr, weil die IntuiTicks je nach Systemlast/Menüauswahl und noch einigen anderen Ursachen verspätet/auf einem Haufen eintrudeln können. Ganz nebenbei kannst Du mit dem timer.device die für Dich günstigste Genauigkeit des Timings wählen. Brauchst Du das Timing sehr langzeitstabil, ist UNIT_VBLANK die erste Wahl, bei sehr kurzen Intervallen (unter 1/50 Sekunde) wäre UNIT_MICROHZ besser, bei nicht so genauem (sprich: nicht zwingend langzeitstabilem und nicht besonders kurzem) Timing tuts UNIT_ECLOCK ganz gut. Grüße -- --- ![]() ![]() |
|||||
whose
Nutzer
18.06.2006, 01:44 Uhr [ - Direktlink - ] |
Thema: 2.+3.Joystikknopf Signale
Brett: Programmierung Zitat: hmm, Ausgang hieße für mich, daß man den Pin auf 5V "Ausgang" schalten könnte, und genau das wäre mir ziemlich neu. Daß die Paddle-Pins auf Referenzspannung geschaltet werden können ist mir bekannt, und Maiks Problem bei Knopf 2 und 3. Aber Knopf 1? Kenne ich nicht, seit 64er Zeiten nicht. Parallel- bzw. Userport-Pins auf Ausgang schalten, ok, aber Joyport? Ich schlag das nochmal nach. Grüße -- --- ![]() ![]() |
|||||
|
![]() |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |
![]() |