Autor Thema: Frage LotusScript Objekte  (Gelesen 1320 mal)

Offline Johannes Schwarz

  • Frischling
  • *
  • Beiträge: 1
  • Geschlecht: Männlich
Frage LotusScript Objekte
« am: 23.06.22 - 17:08:03 »
Ich bin auf folgendes Problem in LotusScript gestossen (9.0.1FP10 SHF380).

Dazu ein einfaches Beispiel mit

Code
Public Class AObject
	
	Public Sub New( )
		
	End Sub
	
End Class

und

Code
Public Class AList
	
	Public Sub add( pObject As AObject )
		
	End Sub
	
End Class

Folgender Code wird akzeptiert (ist auch keine Überraschung):

Code
Dim al As New AList
Dim ao As New AObject
Call al.add( ao )

Aber wenn man faul ist, würde man gerne so vorgehen:

Code
Dim al As New AList
Call al.add( New AObject( ) )

Und das wird als Fehler erkannt (Unexpected: New; Expected: Expression; ;.) BYVAL

Ich kann nicht nachvollziehen, warum die zweite Variante nicht gültig sein soll. Ist das in aktuellen Notes Versionen auch noch so?
Danke für alle Antworten
Johannes

Offline heini_schwammerl

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
Antw:Frage LotusScript Objekte
« Antwort #1 am: 23.06.22 - 19:45:11 »
Servus Johannes,

ich habe gerade keine deutsche Erklärung aber meiner Meinung liegt das an dieser Umsetzung von LotusScript
https://help.hcltechsw.com/dom_designer/10.0.1/basic/LSAZ_PASSING_ARGUMENTS_BY_REFERENCE_AND_BY_VALUE.html

Whether an argument is passed by reference or by value depends on the data type and other characteristics of the argument:
Arrays, lists, type instances, and objects must be passed by reference.

Und ja, das ist auch in späteren LotusScript Versionen so. Als Admin kann ich es leider nicht besser erklären (und evtl. schreibe ich hier auch einen Schmarrn).

Grüße

Henning

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz