Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Hamachi deinstallieren
Aufrufe: 58, Antworten: 5
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 187
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26970, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50963, Antworten: 1397
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3361, Antworten: 128
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 186, Antworten: 6
Gehe zum ersten neuen Beitrag PC fährt nicht mehr hoch.
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 329, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16.11.2010, 20:33   #1 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard C++ Methode (?) nach XProfan

Weiß jemand, wie man sowas am Besten (oder überhaupt ) in XProfan umsetzen kann?

Code:
class ITexter {
public:
    virtual int SCI_METHOD Version() const = 0;
    virtual void SCI_METHOD Release() = 0;
    virtual const char * SCI_METHOD PropertyNames() = 0;
    virtual int SCI_METHOD PropertyType(const char *name) = 0;
    virtual const char * SCI_METHOD DescribeProperty(const char *name) = 0;
    virtual int SCI_METHOD PropertySet(const char *key, const char *val) = 0;
    virtual const char * SCI_METHOD DescribeTextListSets() = 0;
    virtual int SCI_METHOD WordListSet(int n, const char *wl) = 0;
    virtual void SCI_METHOD Text(unsigned int startPos, int lengthDoc, int initStyle, IDocument *pAccess) = 0;
    virtual void SCI_METHOD Bold(unsigned int startPos, int lengthDoc, int initStyle, IDocument *pAccess) = 0;
    virtual void * SCI_METHOD PrivateCall(int operation, void *pointer) = 0;
};
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 16.11.2010, 22:21   #2 (Direktlink)
Unregistriert
Gast
 
Beiträge: n/a
Standard

Meinst Du das class ITexter - XProfan Forum Community ?
  Mit Zitat antworten
Alt 17.11.2010, 06:37   #3 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Danke dir. Mir wäre allerdings eine Möglichkeit lieber, die nicht auf OOP basiert. Ich denke mal, es handelt sich bei dem C++-Krempel um ein Array mit Funktionsadressen, wobei mir die Parameterübergabe noch nicht so ganz klar ist.

Im Übrigen ist es mir neu, dass hier Postings gelöscht würden.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 17.11.2010, 08:21   #4 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 13.02.2009
Beiträge: 19
Standard

Hi Frank!
Zitat:
Ich denke mal, es handelt sich bei dem C++-Krempel um ein Array mit Funktionsadressen...
Hat deutliche Ähnlichkeit mit einem COM-Interface.
Bin mir aber jetzt nicht sicher, ob dir dieses Etwas irgendwoher zur Verfügung gestellt wird und du es nutzen willst oder ob du umgekehrt dieses Etwas bereitstellen mußt.

In ersterem Fall hilft vielleicht meine CallMethod-Routine weiter:
Code:
proc CallMethod'-------------------------------------------CallMethod
parameters IFace&,Method&
declare VTable&
VTable&=long(IFace&,0)
Method&=long(VTable&,Method&*4)
case %pcount=2:return call( Method&,IFace& )
case %pcount=3:return call( Method&,IFace&,&(3) )
case %pcount=4:return call( Method&,IFace&,&(3),$(4) )
case %pcount=5:return call( Method&,IFace&,&(3),&(4),&(5) )
endproc'-------------------------------------------------------------
Im umgekehrten Fall müßtest du ein Array mit Funktionsadressen anlegen, daß per ProcAddr() gefüllt wird (wenn's denn wirklich ein Interface ist).

SeeYou
Pascal
Uwe 'Pascal' ist offline   Mit Zitat antworten
Alt 17.11.2010, 16:30   #5 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Danke, Pascal!
Ist wohl tatsächlich der umgekehrte Fall. Ich möchte den Code nach XProfan oder Assembler (da schwanke ich noch) umsetzen und bin mir immer noch nicht sicher, wie ich die Funktionsparameter im Array unterbringen soll. Die Funktionsadressen sind mir soweit klar...
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 18.11.2010, 07:46   #6 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 13.02.2009
Beiträge: 19
Standard

Hi Frank!

Zitat:
...bin mir immer noch nicht sicher, wie ich die Funktionsparameter im Array unterbringen soll.
Wenn es so funktioniert, wie ich glaube: gar nicht.
Du hast halt die Funktionsadressen im Array (das wäre dann ein VTable) und übergibst die Parameter jeweils beim Funktionsaufruf per Call bzw. bei COM/OLE übergibt Windows diese Parameter, wenn es die Methoden aufruft.
Auf diese Weise lassen sich ja COM-Interfaces in Profan realisieren, z.B. Objekte in RTF oder Profan als Drop-Target auf OLE-Basis.
Für ein "echtes" Interface fehlen allerdings am Anfang die drei Standart-Methoden QueryInterface, AddRef und Release.
Darum: Alles ohne Gewähr

SeeYou
Pascal
Uwe 'Pascal' ist offline   Mit Zitat antworten
Alt 18.11.2010, 13:32   #7 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Hier mal ein kleines Tutorial für PureBasic. Die Grundlagen sind ja die gleichen:
PureBoard • Thema anzeigen - COM Objekte

Gruß
Thomas
ts-soft ist gerade online   Mit Zitat antworten
Alt 18.11.2010, 16:30   #8 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Danke Leute!
Dann werd' ich mich mal versuchen einzuarbeiten.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Vom Versuch, XProfan von Delphi nach Free Pascal zu übertragen (Teil 1) RGH XProfan 4 15.03.2011 22:10
XProfan-Lehrbuch und XProfan-Manager Dietmar Horn Helfer & Tools 3 02.01.2010 13:06
Visual Basic nach XProfan 11 Ewald Renken Dlls, Includes, Units & Prozeduren 1 25.03.2009 14:42
Von Visul Basic nach XProfan 11 Ewald Renken Dlls, Includes, Units & Prozeduren 2 15.03.2009 17:38
Gutmann-Methode wie anwenden? derClown Linux 1 27.10.2007 18:42



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:12 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2