vRecNum

4D : v16

Hallo Leute,

ich habe ein Problem mit dem vRecNum. Ich habe drei Tabellen und die Variable heißt bei jeder Tabelle ein wenig anders.(vRecNumA…B…oder c)
Bei einer Tabelle funktioniert es aber überhaupt nicht und ich weiß nicht warum. Ist das ein Ghost oder was kann man tun. Die Methode nennt sich:

If (Selected record number(Current form table->)<0)
vRecNumA:=""
Else
vRecNumA:=String(Selected record number(Current form table->))+" von "+String(Records in selection(Current form table->))
End if

Grüße

Hallo Herr Slavik,

setzen Sie mal ein

<code 4D>
C_Longint(vRecNumA)
</code 4D>

in die Zeile vor den IF, dann Syntax-Check.

Ach, es gilt was ich meine, nicht was ich schreibe…

Setzen Sie mal ein

<code 4D>
C_Text(vRecNumA)
</code 4D>

in die Zeile vor den IF, dann Syntax-Check.

Meine Meinung nach sollte die variable dynamisch sein.

Hallo Herr Schumacher,

das gleiche Problem…Bildschirm friert ein. Schon merkwürdig. Der Debugger helft hier auch nicht.

Grüße

Hallo Bertrand,

danke für die Idee. Wie geht das? Ich kenne nur Lokale, Prozess,Inter…und Systemvariable. Von dynamischen habe ich noch nichts gehört.

Grüße

: Armin SLAVIK

If (Selected record number(Current form table->)<0)

Kann es sein, dass das Formular ein Projekt-Formular und kein Tabellen-Formular ist?
Laut Doku gibt CURRENT FORM TABLE dann einen Null-Pointer zurrück.

http://livedoc.4d.com/Neuerungen-der-Version/Self-Training-16/Uberblick-uber-Variablen.200-3246858.de.htmlDamit haben wir einen einfachen und raschen Überblick zur Verwendung von Variablen.>

Hallo Herr Buchwitz,

es ist ein ganz normales Ausgabe Formular. Nichts exotisches. Das komische ist das es ja auch in den anderen Ausgabe Formularen funktioniert. Kann man das Programmatisch anders lösen?

Grüße

ich habe eine v13 demo angelegt

http://forums.4d.com/4DBB_Main/x_User/3906/files/23180342.zip

Vielen Dank und ein schönes Wochenende. Super.

Gruß

Danke für die schnelle Hilfe

Gruß

Alles geht . Danke an alle.

Gruß

: Armin SLAVIK

das gleiche Problem…Bildschirm friert ein. Schon merkwürdig. Der
Debugger helft hier auch nicht.

Hi Armin,

I experienced a similar problem. I did not find a solution, except of removing the variable. I’m under the impression 4D gets in an endless loop updating the variable.

Koen

Hello Koen,
the basic problem was a button next to the Vrec. New button and then the freeze was gone. Here also the method:

C_TEXT(vRecNumA)

If (Not(Nil(Current form table)))

	If (Selected record number(Current form table->)<0)
	vRecNumA:=""
Else 
	vRecNumA:=String(Selected record number(Current form table->))+" von "+String(Records in selection(Current form table->))
End if 

Else
ALERT(“Ahaa! Das wars! (Vielleicht)”) // zum testen
TRACE
End if

Best Regards

Hi Armin,

I had a closer look at my code. The lockup problem I experienced was using the vRecNum variable on an output form, not on input.
I tested again, but could not reproduce the issue. It works fine now.

I’m using this code, modified following Bertrands example:

<code 4D>
C_POINTER($P_Var)
$P_Var:=OBJECT Get pointer(Object named;“vRecNum”)

If (Not(Nil(Current form table)))
$P_Var->:=String(Records in selection(Current form table->))+" of "+String(Records in table(Current form table->))
End if
</code 4D>

Koen

Hi Koen,
I’m glad it works now. I hope to return to Holland (Texel) soon. Beautiful there.

best regards

ähhh
Belgium is also no further: -) I got it mixed up. You kind of have a Dutch name.
:mrgreen:

274 km from Texel to my place. That is quite a distance for us Belgians! Its about the greatest distance you can travel in Belgium, from the coast to the Ardennes…