Seite 1 von 1

Probleme mit initClass und init

Verfasst: Fr, 24. Jul 2015 16:13
von Ulrich
Ich habe hier TextControl im Einsatz. Jetzt möchte ich das ganze in eine Klasse fassen.

Mein Problem ist, dass es sich sang und klanglos aufhängt, wenn in initClass das create() ausgeführt wird. In der Methode init funktioniert es.

Wo habe ich den Gedankenfehler?

Code: Alles auswählen

class Rtf
  class method    initClass
  class var       cv_oTXText
  method          init

  exported:
    class method  test

endclass



class method Rtf:initClass()
  alert( "initClass" )
  ::cv_oTXText        := XbpActiveXControl():new()
  ::cv_oTXText:CLSID := "TIS.TX.Textcontrol.22"
  ::cv_oTXText:Create()
  alert( "initClass fertig" )
return self

class method Rtf:test()
return ( valtype( ::cv_oTXText ) == "O" )

method Rtf:init()
  alert( "init" )
  ::cv_oTXText := XbpActiveXControl():new()
  ::cv_oTXText:CLSID := "TIS.TX.Textcontrol.22"
  ::cv_oTXText:Create()
  alert( "init fertig" )
return self

Re: Probleme mit initClass und init

Verfasst: Fr, 24. Jul 2015 17:08
von Ulrich
Könnte es sein, dass mich hier der PDR 6114 erwischt hat?

6114 Creating ActiveX control in :InitClass() method hangs app.

So ein Ärger....

Re: Probleme mit initClass und init

Verfasst: Mo, 27. Jul 2015 20:39
von AUGE_OHR
Ulrich hat geschrieben:6114 Creating ActiveX control in :InitClass() method hangs app.
genau gesagt
BUG Xbase++ v1.9.350: can not use XbpActiveXControl(), but CreateObject() in :initClass
Frage : wie kommst du darauf für solche Zwecke die o:initClass zu benutzen ?

eine Class kann man ja mehrfach aufrufen und man hätte dann "unabhängige" Controls.
in der o:initClass sind nun die Dinge die man "für alle" Instanzen benötigt wie z.b. eine Imagelist die sich alle Controls "teilen"