open() vs OpenSister() Parameterübergabe

Übergeordnete Themen zum gesamten Paket passend
Antworten
satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

open() vs OpenSister() Parameterübergabe

Beitrag von satmax »

Ich habe ein Fenster mit Parameter:

Code: Alles auswählen

PROCEDURE MyWindow( gTableArtikel is Control)
dieser Aufruf funktioniert und ich kann die Table im Fenster normal ansprechen:

Code: Alles auswählen

Open(WIN_Filter,TABLE_QRY_xy)
Folgender Aufruf an der gleichen Stelle produziert einen Runtimefehler:

Code: Alles auswählen

OpenSister(WIN_Filter,TABLE_QRY_xy)
Fehler (gekürzt):
'OpenSister' function, syntax 0

What happened?
An element of 'int' type cannot be converted to the 'control' type.

Error code: 1021
Level: fatal error

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: open() vs OpenSister() Parameterübergabe

Beitrag von Herbert »

Interessant
Im zweiten Fall übergibt die Funktion den Wert anstelle des Controls.
Ich schlage vor, den Alias der Tabelle (als Stringelement) oder sogar des Mutterfensters zu übergeben und so mit Indirection weiter zu arbeiten.

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: open() vs OpenSister() Parameterübergabe

Beitrag von Herbert »

Noch ein Nachtrag dazu
Hier braucht es gar keine Parameterübergabe!
Mit Open und auch mit OpenSister bleibt das Mutterelement immer bestehen. Daher kann das benötigte Element immer mittels Indirection erfasst werden. Dazu hat dies den Vorteil, dass bei einer inhaltlichen Aenderung des betreffenden Elementes immer der aktuelle Stand erhalten wird.
Ein Control als Parameter ist eh nicht empfehlenswert, da sehr viele Daten übergeben werden , wenn nur ein Wert davon verwendet wird.

Antworten