Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Anmeldungen zum Forentreffen 2018 sind auf der Anmeldeseite möglich
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Probleme mit initClass und init

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

Antworten
Ulrich
Rookie
Rookie
Beiträge: 16
Registriert: Do, 28. Jun 2012 9:12

Probleme mit initClass und init

Beitrag von Ulrich » Fr, 24. Jul 2015 16:13

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

Ulrich
Rookie
Rookie
Beiträge: 16
Registriert: Do, 28. Jun 2012 9:12

Re: Probleme mit initClass und init

Beitrag von Ulrich » Fr, 24. Jul 2015 17:08

Könnte es sein, dass mich hier der PDR 6114 erwischt hat?

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

So ein Ärger....

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10654
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Probleme mit initClass und init

Beitrag von AUGE_OHR » Mo, 27. Jul 2015 20:39

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"
gruss by OHR
Jimmy

Antworten