OpenDCL Forums

OpenDCL => Localization Project => GERMAN => Topic started by: SpEEDY on October 09, 2009, 02:01:15 AM

Title: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 09, 2009, 02:01:15 AM
Hallo Forum.
Habe einen lange zeit nicht mit Open DCL gearbeitet.
Sitze jetzt an einem Projekt mit Grip Bearbeitung.
Komme da nicht mehr weiter, vielleicht kann mir jemand von euch helfen.
Und zwar fühle ich die Zeilen einer Grip mit den Befehl.

(defun listefuehlen ()

  (setq listezeile (nth 0 zeile))
  (dcl_Grid_Insertrow BGR-Tool_FB_BGR_ERSTELLEN_Liste listeldfnrzaehler (rtos listeldfnrzaehler 2 0) listezeile)
  (setq listeldfnrzaehler (+ listeldfnrzaehler 1))
 
)

Dies funktioniert auch.
Was ich jetzt aber möchte ist.
Das wenn ich irgend wo auf einen Zeile klicke. Diese mit OnSelChanged ausgelöst wird.
Habe das Problem, wenn ich auch die erste Zeile klicke wird der Befehl OnSelChanged zweimal ausführt. Weil er jede Zeile durchgeht.
Wie kann ich das machen das der Befehl sich nur einmal ausführt.

Habe in der Demo Datei geschaut und den Befehl dcl_Grid_SetCurCell gefunden.
Mit dem komme ich aber nicht ganz zurecht.
Wo muss ich den hinein schreiben. In den OnSelChanged oder Insertrow Befehl?

Hoffe man kann das Problem verstehen und mir jemand helfen.

Danke im voraus.

Speedy

Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 09, 2009, 03:10:14 AM
Hi, SpEEDY,

hm, ich hoffe ich habs verstanden. Vielleicht würde ich folgendes probieren:

Code (autolisp) Select
(defun c:BGR-Tool_FB_BGR_ERSTELLEN_Liste_OnSelChanged (intRow intCol)
  (if (or (not intLastRow) (/= intLastRow intRow))  ; intLastRow ist global zu diesem Event
    (progn
      (setq intLastRow intRow)
      (machwat)
    ); progn
  ); if
); BGR-Tool_FB_BGR_ERSTELLEN_Liste


Ansonsten könnte ein kleines Beispiel Deinerseits helfen.  ;)

Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 09, 2009, 04:26:19 AM
Hi Fred,
danke für die Schnelle Hilfe.
Leider habe ich das Problem schlecht erklärt.
Der Code den du mir geschickt hast geht leider nicht. :P

Habe dir ein Video gemacht.
Da sieht man es besser.
Man sieht das wenn ich auf die zweite Spalte klicke der OnSelChanged befehl sich einmal auslöst. Wenn ich aber auf die erste Spalte klicke löst sich der Befehl zwei mal aus.
Dies möchte ich gerne verhindern. Aber weiß nicht wie ich das machen kann.

Danke noch mal für die mühe.


SpEEDY
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 09, 2009, 05:07:07 AM
Hm, da kom es vielleicht auch darauf an, was im Event so passiert bzw. welche weiteren Events ausgelöst werden und was darin passiert. Für den Fall, dass andere Events aktiv sind, deaktiviere alle Events des Grid (bis auf OnSelChanged), speichere die ODCL und lade die ODCL erneut (dcl_project_load MyProj T). Bleibt es dabei, könnte es ein Bug sein. Welche Runtime-Version verwendest Du?

Bestünde die Möglichkeit, sich per Fernwartung zuzuschalten und gemeinsam in den Code zu schauen?

Wir nutzen den TeamViewer (www.teamviewer.de (//http://)).

VG,
Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 09, 2009, 05:57:42 AM
Hi Fred,
habe mir gerade das neue Open DCL Studio [6.0.0.7] runtergeladen.
Da mein Projekt recht groß ist und auch schlecht geschrieben will ich dir das nich antun.
Daher habe ich auf die schnelle ein Testprojekt gemacht.
Dort passiert leider das gleiche.  :-\

Mit freundlichen Grüßen

SpEEDY
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 09, 2009, 08:17:35 AM
Hi, ich hau mir das heute abend an. Ich will noch schnell etwas abschließen.

QuoteDa mein Projekt recht groß ist und auch schlecht geschrieben will ich dir das nich antun.
Für solche Fälle und für Fälle, wo besondere Lizenzen und Systemumgebungen dahinterliegen, biete ich dann Unterstützung via TeamViewer an.

VG, Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 09, 2009, 02:52:19 PM
Hi, das ist vielleicht ein Bug. Aber es gibt einen Workaround: setze die Eigenschaft RowHeader auf False. Dann wirds nur einmal ausgelöst.
Ich werde das mal erfragen und als Bug-Report anlegen.

VG, Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 09, 2009, 03:03:22 PM
Hi ein weiterer Workaround wäre dennoch, abzufangen, ob sich Spalten- und/oder Zeilennummer geändert hat. Ist beides gleich, dann soll er nichts tun.

VG, Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 12, 2009, 06:47:33 AM
Hallo,

das war ein Bug. Ist in Alpha 8 behoben.

VG, Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 12, 2009, 07:19:25 AM
Fred, danke für die Antworten.
Die Alpha 8 kann ich die schon runterladen oder muss ich noch warten?

mfg

SpEEDY
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 12, 2009, 11:59:22 AM
Hi Speedy,

bitte beobachte einfach diese Seite: https://sourceforge.net/projects/opendcl/files/

Meistens stehen zum Wochenbeginn neue Versionen zum Testen bereit. Bitte beachte: Alpha-Versionen dienen zum Testen und sind nicht für die Produktivumgebung gedacht. Bitte zunächst in Kopien deiner ODCL-Dateien testen.

Alpha 8 steht zum Download bereit.

Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 13, 2009, 06:52:32 AM
Hi, Fred.
Kannst du mir vielleicht noch mal helfen.
Sitze zur zeit an einem anderen Rechner.
Wollte mein Projekt weiter machen. Aber habe irgendwas falsch gemacht.
Wenn ich jetzt ein Opendcl projekt starte kommt der Fehler.

Nicht behandelter Ausnahmefehler 7CFF627 (Accress Violation Reading Oxc7adc2f) bei Adresse 7C947453h

Was kann ich da machen?

Habe jetzt die alpha 8 bei meinem alten Rechner getestet.
Musste leider feststellen, dass sich meine Projekte nicht mehr öffnen lassen.
Suche da noch nach dem Fehler. Oder liegt das an der alpha?

Muss vielleicht noch auf die neue Alpha warten.  :P

Mit freundlichen Grüßen

SpEEDY


Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 13, 2009, 10:52:05 AM
Hm, ich habe Alpha 8 noch nicht getestet. Der Ausnahmefehler könnte aber auftreten, wenn Du eine Projektdatei, die Du in einer jüngeren ODCL-Version gespeichert hat (z.B. auf Rechner 1 mit Alpha 8) auf einem anderen Rechner lädst, auf dem eine ältere Runtime (z.B. auf Rechner 2 mit Alpha 7) installiert ist. Eine in Alpha 8 gespeicherte ODCL kann u.U. in einer älteren Studio-Version z.B. Alpha 7 nicht geöffnet werden.

VG, Fred

Title: Re: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 14, 2009, 01:00:20 AM
Guten Morgen Fred,
ich hoffe ich gehe dir nicht auf die Nerven mit der ganzen Fragerei.

Also habe folgendes herausgefunden. Du hattest recht mit den unterschiedlichen Versionen.
Nur war es bei mir so das ich das Projekt in einer alten Version gespeichert habe. Und dieses nicht mit der Neuen Version öffnen konnte.  Nach dem ich das Projekt in der alpha 8 gespeichert habe. Kamm der Fehler nicht mehr. Dafür öffnet sich das Projekt nicht in ACAD. Man für den Befehl aus. Aber es geschieht nicht. Weder einen Fehler Meldung noch was. Habe es mit einem ganz neuen Projekt probiert. Leider das selbe Spiel.
Gibt es vielleicht einen neuen Befehl für das Öffnen des Projekt?

Das war Kurz  8) die Beschreibung was ich herausgefunden habe.
Wollte dich fragen ob du vielleicht noch eine Stabile Version 6 hast.

Wollte nicht auf die 5er Version zurück gehen.

Mit freundlichen Grüßen

SpEEDY

:Edit

Ich musste grade feststellen das auch die Samples nicht gehen. Ich vermute mal es ist die version.
Na, egal werde mit einer alten 5 Version weiter arbeiten. Bis die neue apha da ist.

mfg
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 14, 2009, 03:01:25 AM
Hi, SpEEDY,

hm, was mich irritiert, dass bisher noch kein anderer das Problem hatte. Und auch ich kann meine alten ODCL5-Projekte im ODCL6 öffnen. Kannst Du eine ODCL-Datei hochladen oder an f.tomke@opendcl.de senden, bitte? Hast Du da ein ActiveX-Control drin (also ein nicht OpenDCL-internes Control).

Ich bin grad in München und düse heute nachmittag zurück nach Berlin. Bin dann wieder im Büro.

VG, Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 14, 2009, 04:06:16 AM
Hi Fred,

danke noch mal für die Antwort.
Habe dir mal wider ein Testprojekt mit Video gemacht.
Dort siechst du was ich meine. Nach ausführen des Befehls passiert nicht.
Habe jetzt die 5er Version getestet. Und siehe da es alles geht wieder.

Ich hoffe ich mache euch nicht zu viel Arbeit.

Fall das Projekt nicht ausreicht. Bin ich auch bereit dir, dass neue ODCL Projekt zuschicken.
Ich hoffe nur du lachst mich dann nicht aus bin noch nicht so gut in LSP.  :P

Man liest sich wieder und viel Spaß bei der Reise.  :P

Mit freundlichen Grüßen

SpEEDY
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 14, 2009, 09:26:24 AM
Danke, ich guck mir das und melde mich dann.

VG, Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 16, 2009, 12:13:50 AM
Hi, speedy,

das ist ein interessantes Phänomen:


Das hat mich derart verunsichert, dass ich meine eigenen Dialoge auf den Vista-Rechnern probiert habe. Ergebnis: mit der Runtime 5.1.2.3 kann ich sie anzeigen, mit der Runtime 6.0.0.8 jedoch nicht.

Das muss ein Bug sein.

Du kannst den Weg hier verfolgen: BugTracker (https://sourceforge.net/tracker/index.php?func=detail&aid=2879018&group_id=187950&atid=923363).

Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 16, 2009, 02:51:58 AM
Hi, Fred.
Habe mir schon gedacht das, dass ein Bug ist.

Durch Zufall findet mal doch die meisten Fehler in Programmen.
Werde auf die neue Version warten in der Zwischenzeit arbeite ich mit der 5er Version weiter.

Wenn ich so weiter so fleißig Bug finde. Ist Opendcl beilt fehlerfrei.    ;D  ;D

Mit freundlichen Grüßen

SpEEDY
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 16, 2009, 02:56:48 AM
Naja, eben deshalb ist es eine alpha.

Für den problemloseren Einstieg und die Entwicklung von Applikationen empfehle ich Dir zunächst bei 5.1.2.3 zu bleiben. So machen wir das auch. Ich versuche die Runtime parallel immer wieder zu testen und bei Schulungen an meinem Rechner zu verwenden (wenn was bei mir nicht geht, kann ich immer sagen, es sei ein Entwicklerrechner. Das erklärt dann immer alles  :) ).

VG, Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 16, 2009, 07:23:22 AM
Hi, Fred noch mal eine Frage vor dem Wochenende.  :P

Will dafür kein neues Thema aufmachen hoffe das geht so.

Habe Probleme mit dem Befehl OnInitialize.

Wollte ein paar Bezeichnung nach dem Aufruf einer Form ändern.
Dies mach ich ja mit dem Befehl dcl_Control_SetCaption.
Dies löst aber einen Fehler aus. Andere Befehle wie Messende gehen.
Arbeite mir der 5er Version. Mache ich einen Fehler. Oder vertragen sich die Befehle nicht?.

Code:
Code (autolisp) Select

; einlesen der Daten
(defun c:BGR-Tool_FB_LINIE_OnInitialize (/)
  (dcl_Control_SetCaption BGR-Tool_FB_LINIE_vor.pk1.rechts (rtos (nth 0 (nth 2 (nth ZeileNR TXKO))) 2 4))
)

Mit freundlichen Grüßen

SpEEDY
Title: Re: dcl_Grid_SetCurCell frage.
Post by: Fred Tomke on October 16, 2009, 03:29:03 PM
Hi, kannst Du mal versuchen, ob es bei dem Control auch ohne Punkte im Variablennamen geht. Punkte im Variablennamen sind im AutoLisp ziemlich problamtisch. Grundlegend ist die Syntax korrekt.

VG, Fred
Title: Re: dcl_Grid_SetCurCell frage.
Post by: SpEEDY on October 19, 2009, 02:12:22 AM
Danke für die antwort hat geklappt.

Habe gerade die 9er Version getestet. Läuft super.
Der fehler ist behoben. ^^

mfg

SpEEDY