Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Autodesk Productstream Professional
  Ändern/ Neu Dialog bearbeiten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY baut sein Angebot für den Vertrieb von NVIDIA Software-Angeboten für Reseller und professionelle Anwender aus
Autor Thema:  Ändern/ Neu Dialog bearbeiten (733 mal gelesen)
veydan
Mitglied



Sehen Sie sich das Profil von veydan an!   Senden Sie eine Private Message an veydan  Schreiben Sie einen Gästebucheintrag für veydan

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 30. Jul. 2009 13:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!
Ich habe den Dialog zum ändern bzw neu anlegen von Konstruktionsdokumenten so weit abgeändert, dass er bei eingabe eines bestimmten Wertes (Ändern) aus einer fixen Liste (die nur den einen Wert enthält) eine dbp Funktion aufruft.

In dieser Funktion wird eine .NET dll Funktion aufgerufen in der der User den Wert des PSP Datenbankfeldes festlegen kann.
Fragt nicht warum, es ist nunmal so ;-)
Die Funktion schreibt dann den Wert in eine Variable und in der Funktion wird der Recordbuffer ___Current___ aktualisiert, sodass der Wert auch dort drinnen steht.

Was ist jetzt dass Problem.
Wie bringe ich den Wert der Variable im Dialog in die Combobox rein?
Bei

Code:
___RecordBuffer ( set __CURRENT__ "APS_PART_TITLE=$(WRI_PART_TITLE)" );

schreibt er den Wert in den RecordBuffer rein.
ABER in der Combobox steht noch mein ursprünglich ausgewählter Eintrag (Ändern)

mit

Code:
___RecordBuffer(update __CURRENT__);

wird der Wert schon in die Datenbank geschrieben (zumindest aktualisiert sich bei mir im Hintergrund das Feld beim Datensatz mit dem Neuen. Schließe ich jetzt das Fenste rohne zu speichern steht trotzdem der NEU ausgewählte Wert drinnen.
Ist zwar nicht der Regelfall, dass das Fenster ohne speichern geschlossen wird, aber dass sollte nicht passieren.

was mache ich da falsch?

Ein weiterer komischer Fall ist, dass beim Neu anlegen eines Dokumentes, meine .NET Funktion wunderbar funktioniert (Einstellungen des PSP Dialoges übernimmt er ja vom Ändern Dialog) ABER er aktualisiert mir meinen RecordBuffer nicht ???
Sprich auch mit

Code:
___RecordBuffer(update __CURRENT__);

Wird der neue Wert nicht angezeigt...

warum?

EDIT:
Vl. zum besseren Verständnis, ich will nur, dass meine EditDialog Felder aktualisiert werden, aber mit update schient dass nicht zu funktionieren, sprich alle Werte vom Buffer neu in die Dialog Felder schreiben.


mfg

[Diese Nachricht wurde von veydan am 30. Jul. 2009 editiert.]

[Diese Nachricht wurde von veydan am 31. Jul. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

veydan
Mitglied



Sehen Sie sich das Profil von veydan an!   Senden Sie eine Private Message an veydan  Schreiben Sie einen Gästebucheintrag für veydan

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 31. Jul. 2009 07:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

so, falls es jemand braucht habe es jetzt so gelöst
mit folgendem Code und der Feldeinstellung editierbare Auswahlliste
Code:

___RecordBuffer ( set __CURRENT__ "APS_PART_TITLE=$(WRI_PART_TITLE)" );
ForceGuiRefresh;
___RecordBuffer ( set __CURRENT__ "APS_PART_TITLE=$(WRI_PART_TITLE)" );


Steht der Wert dann im Record Buffer und in der Maske drinnen.
Warum ein zweites set? nach dem ForceGuiRefresh steht zwar der Wert in der Maske aber irgendwie nicht mehr im RecordBuffer.

Wählt man bei den Feldeinstellungen nur Auswahlliste, klappt dass mit dem reinschreiben ins Feld nicht, da löscht er den Wert immer wieder raus...
Wahrscheinlich wird da überprüft ob der Wert in der Auswahlliste ist, da dieser aber von einer anderen Quelle kommt und nicht in der Maskenliste drinnen ist, löscht er ihn vermutlich.
Also editierbare Auswahlliste verwenden!

mfg

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz