Français
Bücher & Tutoriels

Ex"Kurs" DLL's avec Profan2Cpp erstellen

 

Sebastian
König
Siehe aussi Tutoriels zum Thema: [...] 

Profan2Cpp-Aider

qui Direktive $DLL, qui am Anfang des Quellcodes stehen sollte, teilt Profan2Cpp avec, dass une DLL generiert volonté soll.

Prozeduren, qui exportiert volonté devoir, volonté avec dllproc eingeleitet. Pour dem Namen qui Procédure wird dabei comme zweites Argument le nombre qui paramètre, qui qui Procédure erwartet, angegeben. cet numéro sollte naturellement avec dem, quoi später avec parameters spezifiziert wird, übereinstimmen. avec dllproc deklarierte Prozeduren peut pas verschachtelt volonté.

depuis Profan2Cpp 1.6a peux comme dritter paramètre optionnel un Stringliteral (Ausdruck dans Anführungszeichen, aucun Variable!) angegeben volonté, qui den genauen Export-Namen qui Procédure angibt. (...)


Beispiel-Code:
KompilierenMarqueSéparation
So peux on qui DLL ensuite verwenden (.inc wird automatisch de Profan2Cpp erzeugt):
KompilierenMarqueSéparation
 $I dlltest.inc Definitionen einbinden...
declare hDll&
let hDll& = @UseDll(dlltest.dll)
Cls
Funktion aus qui DLL appel:
Imprimer countprimes(10000)
WaitKey
FreeDll hDll&
Fin

MfG

Sebastian

Siehe aussi: sondage DLL avec Profan2Cpp? [...] 
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
11.03.2009  
 




Jac
de
Lad
comment stehts avec Controls et so, peut qui dans Profan erzeugt et dans qui DLL benutzt volonté et renversé? Gibt es Einschränkungen?
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
11.03.2009  
 




Sebastian
König
Jac
comment stehts avec Controls et so, peut qui dans Profan erzeugt et dans qui DLL benutzt volonté et renversé? Gibt es Einschränkungen?


*seufz* et je hab mir soviel Mühe avec dem écrivons qui Documentation gegeben.. ici alors encore un Auszug:
Profan2Cpp-Aider
une größere Einschräkung gibt es malheureusement: dedans qui DLL devrait aucun Befehle ou bien Funktionen, qui la fenêtre ou bien Fensterelemente erzeugen, verwendet werden; cela Verhalten ist sonst unvorhersehbar. @SendMessage() et @Poster un message() marcher cependant - et MessageBoxes stehen zur Disposition.


Ergänzend en supplément ist trop dire, dass sur API naturellement alles erlaubt ist. qui Einschränkung bezieht sich seulement sur Sachen comment Créer() et Contrôle(), et chez Créer() aussi seulement sur Fensterelemente.

Generell serait on mais aussi sowiese plutôt Performance-kritische Sachen dans un C++-DLL auslagern, et là gehören GUI-Sachen avec Windows meiner Erfahrung pour selten en supplément...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
11.03.2009  
 



Jup, c'est une gute Demo. merci.

Na, ensuite peux je oui einiges chez meinem Programmen la fois remodeler/auslagern.

mfg
 
11.03.2009  
 




Detlef
Jagolski
j'ai mir avec Profan2Cpp pour mon Owner-Draw Menüs une Dll gebaut avec encore weitern Funktionen qui je toujours brauche.

14 kB
Hochgeladen:11.03.2009
Downloadcounter397
Download
 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
11.03.2009  
 




Sebastian
König
Detlef Jagolski
j'ai mir avec Profan2Cpp pour mon Owner-Draw Menüs une Dll gebaut avec encore weitern Funktionen qui je toujours brauche.


un schönes Beispiel, cela gleichzeitig zeigt, dass aussi la fenêtre-bezogene Dinge possible sommes.

mon eigene Aussage de dessus (Antwort and Jac) habe je dabei nochmal näher attentive et muss eh bien dire: c'est wohl pas seulement chez Dingen, pour qui une hohe Geschwindigkeit important ist, sinnvoll vous dans un DLL auszulagern. peut-être voudrais on aussi simple une DLL zur Verwendung dans mehreren Projekten et/ou bien zur Veröffentlichung erstellen.

qui Zwischenstand qui sondage (si aussi pas très repräsentativ) peut mich avec dem Gedanken spielen, une Workshop trop dem Thema trop erstellen. je pourrait mir zum Beispiel présenter, une Anfang meiner SKControl.DLL dans XProfan nachzubauen...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
11.03.2009  
 




Sebastian
König
Jac
encore ne blöde Frage: si je dans XProfan quoi dans qui interne Listboxliste fülle, ensuite peux je dans einer DLL, qui avec Prf2CPP erstellt wurde pas puis zugreifen ou bien? et renversé sûrement aussi pas? cela wäre einer qui Gründe sur DLL-Erstellung trop verzichten, im entsprechenden le cas jedenfalls.


Simple Frage - qui Antwort ist quelque chose compliqué sans es probiert trop avons, serait je aus dem mémoire dire, dass dedans des DLL-Codes folgendes gilt:

* Füllen et Changement qui liste funktioniert
* MoveListToStr$/Mem/Array() aussi
* MoveListToHandle() funktioniert pas avec List- et ComboBoxes, avec Edits mais déjà

qui Gründe hierfür liegen y, dass de Profan2Cpp-Anwendungen un MultiThread-Konzept benutzen, DLL mais pas et je pour MoveListToHandle() keinen Fil-Test incorporé habe.

cela ganze gilt aussi pour un paire weitere Dinge. Im Einelfall: simple ausprobieren et mich ggf. um Anpassung bitten.

si Du meinst, dass Du dans XProfan qui liste füllst et ensuite dans qui DLL avec cela travailler vouloir: cela allez naturellement pas - avec aucun DLL, car qui sais oui rien de XProfans interner liste... EDIT: Ok, Du meinst wohl oui c'est ca cela - j'étais quelque chose trop vite avec qui obigen Antwort, mais peut-être ist cela quand même intéressant.

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
11.03.2009  
 



Hmmm..., comment wird une Bereichsvariable b# transfert à qui DLL, wohin qui grösse wechselt?
Soll eien Dll volonté.

Übergabe wert&,b#,c# et Retour z&.
KompilierenMarqueSéparation
proc pixelausgabe

    whileloop 0,wert&-8,8

        z&=0
        z1&=byte(c#,&loop)

        if z1& < 3

            z1&=byte(b#,&loop)
            z2&=byte(b#,&loop+1)
            z3&=byte(b#,&loop+2)

            if (z1& > 250) or (z2& > 250) or (z3& > 250)

                z&=255
                break

            endif

        ENDIF

    endwhile

endproc


mfg.
 
12.03.2009  
 




Sebastian
König
Peter Bierbachh
Hmmm..., comment wird une Bereichsvariable b# transfert à qui DLL, wohin qui grösse wechselt?


qui DLL-Funktion muss pour chacun Bereichsvariable savons, comment grand vous ist. D.h. qui Größen doit comme paramètre transfert volonté. Beispiel:
KompilierenMarqueSéparation
dllproc Test,4

    parameters b#,size_b&,c#,size_c&
    declare z&
    ...
    return z&

end
a>

si plusieurs Bereiche qui gleiche Taille avons, peux on sich naturellement überflüssige paramètre ersparen...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.03.2009  
 



Irgend quelque chose stimmt ici pas.

si je dans qui DLL seulement wieder récente dimensionieren muss....cet Bereichsvariablen.
Es beisst sich quoi...

peux pas stimmen...ou bien...

Wird wahrscheinlich pour den Programmablauf doch zeitaufwendiger, si je dans qui DLL wieder avec den zuweisungen chez zéro anfangen muss.

mfg
 
12.03.2009  
 




Sebastian
König
j'ai den Fil justement sous dem neuen Namen wiedergefunden...

Peter Bierbachh
Irgend quelque chose stimmt ici pas.

si je dans qui DLL seulement wieder récente dimensionieren muss....cet Bereichsvariablen.
Es beisst sich quoi...

peux pas stimmen...ou bien...

Wird wahrscheinlich pour den Programmablauf doch zeitaufwendiger, si je dans qui DLL wieder avec den zuweisungen chez zéro anfangen muss.

alors là la hâte Du irgendwas faux verstanden... c'est pas nötig, den Bereich dans qui DLL récente trop dimensionieren. und dir seulement tout autor, dass Du einer exportierten Procédure, qui Bereiche comme paramètre erwartet, mitteilen musst, comment grand cet im aufrufenden Code dimensioniert wurden.

c'est völlig analog trop qui travail avec API-Funktionen comment zum Beispiel ZeroMemory(). là übergibt on oui aussi une Bereich (i.e. aiguille) et qui zugehörige Taille...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.03.2009  
 



ah sooooo,....J'ai eu maintenant faux verstanden vom Beispiel. Wäre oui aussi sonst paradoxe.

mfg
 
12.03.2009  
 




Zum Buch


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

20.347 Views

Untitledvor 0 min.
Walter14.05.2023
Sven Bader04.08.2021
maxilars22.11.2018
Erfurt20.09.2017
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie