[GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 12:42

Hiho zusammen und erstmal noch Frohe Weihnachten an Alle ;) Bissl spät aber na ja ^^ Hoffe habt alles gut überstanden ... Ich fühl mich immer noch volgefressen aber das ist ein anderes Thema ^^

Folgendes : Ich hab mal wieder ein kleines Problemchen bei folgender Code Zeile bzw. bei folgendem Wert:

Code:
PRecRef.FIELD(PIntFieldID).VALUE


Greife ich auf diese Variable in Navision 4.0 zu, funktioniert alles ohne Probleme und er macht das was er soll. Greife ich auf diese Variable in Navision 2009 zu fliegt mit der komplette Client an dieser Stelle um die Ohren ... Ich hab keine Ahnung warum und hab mittlerweile schon einiges durchgeprüft ... Hoffe einer von euch hat noch ne Idee diesbezüglich.

Schonmal vielen Dank im Vorraus ...

Chris
Zuletzt geändert von CBT am 29. Dezember 2009 13:58, insgesamt 1-mal geändert.

Re: RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 13:58

Hat sich erledigt ^^

Re: RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 14:04

CBT hat geschrieben:Hat sich erledigt ^^

Würdest du uns auch die Lösung verraten?

Re: [GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 14:06

Aber sicher ... Hab einfach mal das .VALUE weggelassen und schon hats funktioniert ... Sowohl im 4er als auch im 2009er ... Warum die erste Variante nur in der alten Version funktionert versteh ich immer noch nicht wirklich ...

Re: [GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 14:13

CBT hat geschrieben:Warum die erste Variante nur in der alten Version funktionert versteh ich immer noch nicht wirklich ...

Mir ist in eiem Projekt auch schon aufgefallen, das NAV 2009 ineinander verschachtelte RecordRefs und FieldRefs nicht mag (aber nur unter mir unbekannten Konstellationen).
Die Lösung ist dann immer, die Schritte nacheinander zu gehen:
Statt
Code:
FieldRefWert := PRecRef.FIELD(PIntFieldID).VALUE;
also
Code:
FieldRef := PRecRef.FIELD(PIntFieldID);
FieldRefWert := FieldRef.VALUE;

Re: [GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 14:32

Was ist denn dann der Unterschied zwischen
Code:
PRecRef.FIELD(PIntFieldID).VALUE
und
Code:
PRecRef.FIELD(PIntFieldID)
wenn bei beiden Varianten der Feldinhalt ausgegeben wird ...

Re: [GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 14:48

CBT hat geschrieben:Was ist denn dann der Unterschied zwischen
Code:
PRecRef.FIELD(PIntFieldID).VALUE
und
Code:
PRecRef.FIELD(PIntFieldID)
wenn bei beiden Varianten der Feldinhalt ausgegeben wird ...

Darum geht es doch: Es macht im Endergebnis keinen Unterschied. Du machst halt einen Schritt statt 2, wie es gute Programmierer normalerweise tun, wenn sie Quelltext sparen möchten.
Nur NAV 2009 bekommt bei einem Schritt auf einmal irgendwelche Speicherprobleme (so meine Mußmaßung) :cry:

Re: [GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 14:52

Navision ist sowieso ein Ding für sich ^^

Aber dein Beispiel meinte ich jetzt nicht ... Du hast ja folgendes gemeint ...

Code:
FieldRef := PRecRef.FIELD(PIntFieldID);
FieldRefWert := FieldRef.VALUE;


Hier kann ich aber die 2. Zeile weglassen ... Ich bekomme trotzdem den Wert ausgegeben ... Die erste Zeile reicht vollkommen aus ... Warum kann ich hier also .VALUE dranhängen was ja genau das gleiche ausgibt wie ohne .VALUE ? (Siehe Navision 4.0)

Also kurz gefasst :

Bei beiden unten aufgeführten Varianten kommt das gleiche raus ...

Code:
PRecRef.FIELD(PIntFieldID).VALUE


Code:
PRecRef.FIELD(PIntFieldID)


Ohne irgendeine 2. Zeile oder sonst was ... So wie es da steht ... Verstehe aber nicht warum bzw. was das soll ^^

Re: [GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 15:11

CBT hat geschrieben:Hier kann ich aber die 2. Zeile weglassen ... Ich bekomme trotzdem den Wert ausgegeben ...

Das irritiert mich ja wiederum.
Die VALUE-Funktion hat es auch in 4.0 gegeben. Theoretisch dürftest du ohne VALUE an keinen WERT kommen. Und wenn doch ... dann halte ich das für einen Fehler in 4.0 :?:

Re: [GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 15:38

In Navision 4.0 SP3 komme ich ohne VALUE an den Wert und mit VALUE auch.
In 2009 komme ich ohne VALUE an den Wert und mit VALUE fliegt mir der Client um die Ohren.

Alles sehr dubios ^^

Re: [GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 15:57

CBT hat geschrieben:und mit VALUE fliegt mir der Client um die Ohren.

Auch, wenn du VALUE direkt mit einer FieldRef-Variable verwendest?
Wenn ja, würd ich das MS melden.

Re: [GELÖST] RECREF > FIELD > VALUE - Navision 2009 Vs. 4.0

29. Dezember 2009 16:08

Ne das funktioniert problemlos ... Verwirrt bin ich trotzdem :D
Und Danke für die Hilfe ...