Wrapper für DispHpr.DLL

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

Wrapper für DispHpr.DLL

Beitragvon AUGE_OHR » Mo, 07. Nov 2011 5:47

hi,

wer mit Xbase++ activeX arbeitet hat evtl. Geschwindigkeits- Probleme.
eine Möglichkeit bietet da DispHpr.DLL aber man müsste dazu seinen Source Code umschreiben.

nur wäre es nicht das Problem wenn dadurch die OOP Syntax nicht "wegfallen" würde,
denn die "Rückgabe Werte" sind keine Objecte sondern "numerisch" ( Pointer )

ich frage mich wie man eine Class schreibet wo man "Pointer verwaltet",
"dynamisch" Objecte erzeugt (im o:Cargo könnte der Pointer stehen ) und
diese per OOP Syntax angesprochen werden können ?
Code: Alles auswählen
#IFDEF USEXPP
   oOutlook := CreateObject( "Outlook.Application" )
#ELSE
   @dh:dhCreateObject( L( "Outlook.Application" ), 0, @oOutlook )
#ENDIF
der @dh: Aufruf ist viel zu kompliziert ... ich hätte lieber eine Function oder Method
Code: Alles auswählen
FUNCTION My_CreateObject( ProgID )
LOCAL nOutlook := 0
LOCAL oOutlook
...
   @dh:dhCreateObject( L( ProgID ), 0, @nOutlook )

   oOutlook := My_Class():New()
   oOutlook:Cargo := nOutlook
   
RETURN oOutlook
angenommen das funktioniert dann kommt als nächstes
Code: Alles auswählen
   //
   // MAPI Schnittstelle
   //
#IFDEF USEXPP
   oNameSpace := oOutlook:GetNamespace( "MAPI" )
#ELSE
   @dh:dhGetValue( L( "%o" ), ;
           @oNameSpace      , ;
           oOutlook         , ;
           L( ".GetNamespace(%s)" ), "MAPI" )
#ENDIF
wie bekomme ich da nun die OOP Syntax "simuliert" ?

klar könnte ich dafür wieder eine Function/Method nehmen
Code: Alles auswählen
FUNCTION My_Method(cMethode,xParameter)
...
   Object := My_Class():New()
...
RETURN Object
aber das wäre ja dann keine OOP Syntax.

also müsste in My_Class() eine "universal" Methode her ...
die müsste dann einen Codeblock evaluieren ...

aber wie bekomme ich aus oOutlook:GetNamespace()
die Methode "GetNamespace()" so "umgewandelt"
das ich damit Parameter für einen Codeblock bekomme ?

ich habe mal irgendwo sowas verbaut
Code: Alles auswählen
#xcommand METHOD <!ClassName!>:<MethodName> => METHOD <MethodName> CLASS <ClassName>
könnte man mit "xcommand" vielleicht was zusammenbauen ?
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10205
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Zurück zu OOP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron