Deutsch
SDK-Helfer/ Tools

JRPC neuer Präkompiler für XProfan X4 - JRPC3

 
- Seite 1 -



Jens-Arne
Reumschüssel
Guten Abend zusammen,

ich bin kürzlich über das Problem gestolpert, dass XPSE eine ziemlich große Quelldatei von mir nicht mehr verarbeiten konnte. Variablen wurden plötzlich als nicht definiert gemeldet und andere "erratische" Probleme mehr. Ich könnte mir vorstellen, dass dies daran liegt, dass XPSE Schlüsselworte in Windows-Atoms verwaltet. Da ist irgendwann Schluss (bei irgendwas zwischen 60.000 und 70.000 Stück, wobei man bedenken muss, dass XPSE die Windows-API mit vorhält). Vielleicht ist es aber auch etwas ganz anderes, ich kann ja nicht in den "Maschinenraum" von XPSE schauen.

Jedenfalls blieb mir, da XPSE nicht mehr gepflegt wird, nichts anderes übrig, als das nachzubauen. Das Ergebnis ist JRPC3.

----- Features:

*vernünftige Meldung von Fehlern
*direkte Anzeige des Programmablaufes in XProfEd (sofern der unten erhältliche aufgebohrte XProfEd verwendet wird)
*Umsetzung der alten Profan-Syntax für Operatoren und alte Containerfunktionen
*extrem schnelle native fbPROCs, sofern man FreeBasic installiert hat (kostenlos, siehe Hilfe)
*mit fbPROCs kann zudem Inline-Assembler auch vor XProfan X4 realisiert werden
*extrem schnelle native pbPROCs, sofern man PureBasic installiert hat
*Echtzeitverfolgung von Variableninhalten
*einfache Zeitmessungen im Programmablauf
*Profan-Kompilerdirektiven funktionieren endlich vernünftig (z.B. Verschachtelung)
*eingebettete Variablen funktionieren auch mit Arrays
*die meisten WIN32-API-Funktionen sind bereits vordefiniert mitgeliefert
*API-Aufrufe über @external(...) werden automatisch in @call(...)-Aufrufe umgesetzt
*Einrückungsanalyse zum Finden von vertrackten Verschachtelungsfehlern
*Klammeranalyse zum Finden von vertrackten Klammerfehlern
*ENUMERATE-Funktionalität
*Assert zur Fehlerkontrolle
*es können beliebige DLLs in die XProfan-EXE integriert werden, sodass sie nicht mit ausgeliefert werden müssen (siehe {$WrapDll})
*einfaches Killen von mit JRPC3 gestarteten Programmen (interpretiert, .prc gestartet, .exe gestartet)
*extrem schnell (und daher natürlich nicht in XProfan geschrieben, da eine interpretierte Sprache hierfür naturgemäß viel zu langsam ist)
*beim Start von JRPC3 bereits vorhandene .prc-Dateien können zum Starten und Linken genutzt werden (es wird ein Hinweis angezeigt, dass es sich um ein altes Kompilat handelt)
*der Profan-Compiler kann zur Beschleunigung mit hoher Prozessorpriorität aufgerufen werden
*eingebauter Update-Checker mit Download, falls es ein Update gibt (Hilfe --> online nach Updates suchen)
*64- oder 32-bit-Version verfügbar (einfach JRPC3_64.exe oder JRPC_32.exe als Interpreter in XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] und JRPC3 mit F7 starten) - Achtung, die 64-bit-Version erzeugt natürlich keine 64-bit-XProfan-Programme, da XProfan das nicht kann, sondern JRPC3 selbst wird als 64-bit-Programm ausgeführt
*XProfan X4-Syntax verfügbar (möglicherweise noch nicht alles, da ich vermutlich nicht alles davon benutze, aber ich habe mich um Vollständigkeit bemüht - jedenfalls sind z.B. HASH-Arrays und QUADINTs dabei)
*Interpreter, PRCs und EXEs können mit Kommandozeilenparametern ausgeführt werden
*Interpreter, PRCs, EXEs und XPSE können mit Administratorrechten ausgeführt werden
*Prozeduren, die in dem aktuellen Programm zwar enthalten sind, aber nicht verwendet werden, werden aus der umgesetzten Datei entfernt, um die Dateigröße des Kompilats möglichst klein zu halten
*Variablen, die in dem aktuellen Programm zwar enthalten sind, aber nicht verwendet werden, werden aus der umgesetzten Datei entfernt, um die Dateigröße des Kompilats möglichst klein zu halten und den Speicherverbrauch zu optimieren
*nPROCs aus XPSE werden automatisch mit XPE zu einer DLL umgesetzt und die Aufrufe der nPROCs im Programm entsprechend angepasst, sofern XPSE vorhanden ist
*fast alles aus XPSE funktioniert auch in JRPC3 ({$NOERR}, {$(PRE)BATCH}, {$PUSHKEYWORD}, Interpreter, Runtime und Compiler festlegen, Shorties, ...)
*XProfEd_JR mit Quelltext-AutoComplete
*XProfEd_JR mit Quelltext-Memory-Funktion (Markierungen, zu denen zurückgesprungen werden kann)

Einschränkungen:
-kein XPSE-Inline-Assembler, wohl aber XProfan-Inline-Assembler (darin allerdings keine Prüfungen auf Korrektheit des Codes)
-ABER: man kann XPSE aus JRPC3 heraus aufrufen, sodass diese Funktionalität weiterhin verfügbar ist, sofern man XPSE besitzt (neuer Shorty: {$x})
-Variablen, die in einer Prozedur nicht deklariert sind, sondern "aus der aufrufenden Prozedur übernommen werden", sind standardmäßig nicht zugelassen (XProfan erlaubt das, aber so etwas ist genauso tödlich wie GOTO-Anweisungen). Bitte alle zu nutzenden Inputs als Parameter übergeben, und wenn etwas aus dem aufrufenden Programmteil verändert werden muss, beim Aufruf als Parameter z.B. @addr(x&) verwenden und in der Prozedur parameters x# und LONG x#,0=y& nutzen.
Wenn man aber unbedingt "vererbte" Variablen nutzen möchte, kann man dies mit der Kompilerdirektive {$Declare...} tun.

*als Hommage an XPSE lautet die Endung der Ausgabedatei ".enh3"

Eine genauere Erläuterung der einzelnen Features ist der chm-Hilfedatei zu entnehmen, die im Programm unter Hilfe --> Hilfedatei anzeigen oder mit F1 verfügbar ist.

----- /Features

Herunterladen und installieren:
JRPC3 kann unten heruntergeladen werden (setup_jrpc3.exe oder als ZIP-Datei).
Als Installationsverzeichnis bitte das XProfan-Stammverzeichnis angeben, also dasjenige, in dem die Dateien PROFAN.EXE, PROFCOMP.EXE, PRFRUN32.EXE etc. liegen. Alternativ kann die ZIP-Datei heruntergeladen und deren Inhalt manuell ins XProfan-Stammverzeichnis kopiert werden.

Einrichtung:
JRPC3_64.exe oder JRPC_32.exe als Interpreter in XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] und JRPC3 mit F7 starten.

Alle Befehle sind mit dem Befehl "h" wie "Hilfe" abrufbar und sollten selbsterklärend sein.

Für viele erweitere Features, die XProfEd betreffen, wie z.B. jenes, die Zeile, in der ein Fehler auftrat, direkt in XProfEd anzeigen zu können, ist der mitinstallierte XProfEd_JR erforderlich. Dafür muss man also XProfEd_JR.exe statt XProfEd.exe als Editor benutzen. Als "goody" gibt es dazu, dass beim Auf- und Zufalten von Programmen ein Fortschrittsanzeiger integriert ist (das kann bei großen Programmen ja bekanntlich ein bisschen dauern).

Es mag sein, dass noch nicht alles perfekt funktioniert. Ich bitte hierfür um Nachsicht. Meine  Programme lassen sich umsetzen, aber das muss noch lange nicht heißen, dass dies mit Programmen anderer Autoren, die jeder so ihre Eigenheiten haben, auch funktioniert.

Fehlermeldungen und Verbesserungsvorschläge gerne an jreumsc@web.de oder hier im Forum.

Beste Grüße, Jens-Arne

2.584 kB
Bezeichnung:JRPC3
Version:10.29
Kurzbeschreibung: JRPC3-Installer
Hochgeladen:15.02.2021
Ladeanzahl363
Herunterladen
1.699 kB
Bezeichnung:XProfEd_JR
Version:5.2
Kurzbeschreibung: Alte Version ohne AutoComplete zur Sicherheit
Hochgeladen:15.02.2021
Ladeanzahl224
Herunterladen
3.777 kB
Bezeichnung:JRPC3
Version:10.29
Kurzbeschreibung: ZIP-Datei statt Installer
Hochgeladen:02.04.2021
Ladeanzahl291
Herunterladen
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
16.02.2021  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »

- Seite 15 -



Jens-Arne
Reumschüssel
Es gibt eine neue Version, die anders mit dem internen Messagehandling umgeht. Bitte probier die mal aus. Vielleicht ist das Problem damit behoben.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
24.09.2022  
 



 
- Seite 25 -



p.specht

Ich möchte prf und xprf eigentlich für reine Profan- bzw. XProfan-Programme reservieren. Benötigt man Erweiterungsprogramme wie xpse oder jrpc, sollte das auch durch die Extentions klar gemacht werden.

Vorschlag: .xpe bzw, .jr1, .jr2 usw. (ungeprüft ob bereits vergeben)

Dadurch sollte auch angezeigt werden, ob weitere Fremdprogramme wie DLL-Zuliefer-Codes benötgt werden.

Eure Meinung?
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
30.06.2023  
 




Jens-Arne
Reumschüssel
Hmm, das sollte wohl jeder so machen, wie er möchte. Ich habe in XProfEd_JR die Endungen *.xpe, *.jr1 und *.jr3 eingebaut. Die Vorgaben kann man nun unter Optionen / Allgemeine Einstellungen anpassen. Den String sollte man aber wohl in einen Editor kopieren und dann dort untersuchen und ändern, da er ziemlich kompliziert ist.
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
01.07.2023  
 




p.specht

Danke, schnelle gute Lösung!
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
01.07.2023  
 




Jens-Arne
Reumschüssel
Ich habe jetzt auch in JRPC3 die Endungen in den Optionen einstellbar gemacht, damit nicht immer ein Warnhinweis erscheint, wenn man Dateien mit von ".prf" abweichender Endung benutzt.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
03.07.2023  
 




Jens-Arne
Reumschüssel
Was ich, glaube ich, vergessen habe zu erwähnen:

Ich habe schon vor einiger Zeit in XProfEd_JR das Benutzermenü so angepasst, dass man dort auch etwas anderes als nur EXE-Dateien starten kann. Mit einem Programm verknüpfte Dateien gehen (z.B. <irgendwas>.pdf, wenn man einen PDF-Viewer installiert hat), sogar Web-Adressen funktionieren. Man kann also z.B. den Eintrag "XProfan.net" mit dem Kommando "https://xprofan.net/intl/de/" anlegen. Dann wird die Startseite dieses allseits bekannten Forums im Standardbrowser aufgerufen, wenn man den Menüpunkt anklickt.

Da das vermutlich für den einen oder anderen ganz praktisch ist, sollte es nicht unerwähnt bleiben.

Beste Grüße, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
17.07.2023  
 




funkheld
Danke für deine Mühe und Arbeit.

Gruss
 
20.07.2023  
 




Jens-Arne
Reumschüssel
V10.11:
-eingebettete Variablen funktionieren nun auch mit Arrays
-es werden nun auch die speziellen embedded vars für SQL-Statetements unterstützt (also jene ohne führenden Backslash)
Details siehe JRPC3-Hilfe
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
30.12.2023  
 




Jens-Arne
Reumschüssel
ACHTUNG:

Der Update-Checker benötigt ein Update. Dieses schlägt jedoch fehl. Daher ist es erforderlich, einmalig die aktuelle Setup-Datei auszuführen oder JRPC3 aus der aktuellen ZIP-Datei manuell neu zu installieren.

Ich bitte um Entschuldigung für diese Unannehmlichkeit.

Beste Grüße, Jens-Arne
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
04.01.2024  
 




Jens-Arne
Reumschüssel
Nun ist in JRPC3 das mit XProfan X4 aufgetretene Problem, dass %ProgEnd keine gültigen Werte mehr liefert, behoben.

JRPC3 schreibt nun nach jedem Linkvorgang die Größe der eigentlichen EXE-Datei an Position $1C in die Datei. An dieser Stelle sind 4 reservierte Bytes im DOS-Header vorhanden, also wie perfekt geeignet zur Aufnahme eines LongInts. Der DOS-Header wird von Windows beim Laden einer EXE-Datei nicht benutzt, und auch unter DOS funktioniert der DOS-Stub weiterhin (d.h. es wird angezeigt, dass das Programm unter DOS nicht ausgeführt werden kann). Diese Manipulation der EXE-Datei ist also unschädlich.

Wenn man die neue Kompilerdirektive {$DetermineProgEnd} verwendet, steht danach in der neuen Systemvariablen %JRPC3ProgEnd wie früher von %ProgEnd gewohnt das Ende der EXE-Datei zur Verfügung, sodass angehängte Daten zuverlässig und schnell gefunden werden können.

Alternativ kann man auch einfach das LongInt an Dateiposition $1C selbst auslesen.

Beste Grüße, Jens-Ane
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
08.01.2024  
 




Jens-Arne
Reumschüssel
Sorry, der Dateispeicherort war um ein Byte verrutscht ($1B), das ist jetzt korrigiert.

Außerdem habe ich bei dieser Gelegenheit noch das Nachstehende ermittelt:

Man kann an folgenden Orten weitere Daten unterbringen:

$20-$23 (4 Bytes) - reserviert im DOS-Header
$28-$3B (20 Bytes) - reserviert im DOS-Header

Dann gibt es noch den ungenutzten Raum zwischen DOS-Stub und NT-Header, wobei letzterer bei $100 beginnt und als erster Dateibestandteil für den Windows-PE-Loader relevant ist (abgesehen vom letzten Element des DOS-Headers, das auf den Beginn des NT-Headers zeigt). Der zur Verfügung stehende Platz hängt von der Größe des DOS-Stub ab. Der von XProfan standardmäßig erzeugte ist vergleichsweise lang ("This program must be run under Win32"). JRPC3 erzeugt nach dem Linken daher nun einen sehr kurzen ("Win32 program"). Dadurch gibt es noch folgenden weiteren freien Platz in der EXE für beliebige Daten:

$5F-$FF (161 Bytes) - zwischen DOS-Stub und NT-Header

An all diesen Stellen kann man z.B. "versteckte" INI-Daten unterbringen, wenn man eine extra INI-Datei vermeiden möchte, ohne dass dabei die EXE-Datei größer würde. Natürlich kann man diese auch an die EXE anhängen, wenn man dafür mehr Platz braucht, als oben genannt verfügbar ist.

Allerdings sollte man dabei bedenken, dass es Leute gibt, die ihr System ganz besonders absichern und z.B. Software einsetzen, die überwacht, ob einmal freigegebene EXE-Dateien sich verändert haben. Diese würden bei einem XProfan-Programm, das Daten in seine EXE schreibt, natürlich permanent dramatische Fehlermeldungen erhalten, nach denen das Programm mutmaßlich von einem Angreifer manipuliert worden und damit nicht mehr vertrauenswürdig sei. Mindestens ein Hinweis auf dieses Verhalten des Programms ist also sicher angezeigt.

Dabei ist das Verhalten von JRPC3, die Größe der reinen EXE-Datei in selbige zu schreiben (siehe {$DetermineProgEnd}), aber unbedenklich, weil sich dieser Eintrag nach dem Linken im fertigen Programm nicht mehr ändert.

Beste Grüße, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
08.01.2024  
 



 
- Seite 26 -



Jens-Arne
Reumschüssel
Neue Version:

Quelltext-Memory-Funktion in XProfEd_JR (Markierungen, zu denen zurückgesprungen werden kann)

Auszug aus der aktuellen JRPC3-Hilfe:

Memory-Funktion

XProfEd_JR erlaubt es, Positionen im Quelltext zu markieren und später
auf Knopfdruck dahin zurückzuspringen.
Wer kennt das nicht? Man ist in einem umfangreichen Code bei der Arbeit
und merkt plötzlich, dass man an einer ganz anderen Stelle etwas ändern
muss, bevor man an der aktuellen Position fortfahren kann.
Üblicherweise wird man nun einen Kommentar schreiben, den man später
mit der Suchfunktion wiederfinden kann, z.B. 'xxx oder 'hier weiter.
Es geht aber auch professioneller:

einfache Memory-Funktion:
Wenn man »Ctrl-M« (=Memory) drückt, wird die aktuelle Zeile in den
Positionsspeicher übernommen. Es erscheint ein rotes "M" links neben der
Zeile.
Wird ein weiteres Mal an anderer Stelle im Code »Ctrl-M« gedrückt, springt
XProfEd_JR zu der zuvor markierten Zeile zurück.
Drückt man »Ctrl-M« in der markierten Zeile, wird die Markierung gelöscht.
Mit »Shift-Ctrl-M« kann die Markierung hart neu gesetzt werden, d.h. sie
wird an der alten Stelle gelöscht und an der aktuellen neu gesetzt.
Die Memory-Markierung kann nur einmal im gesamten Quelltext vorkommen.

fortgeschrittene Memory-Funktion:
Es können neben der einfachen Memory-Markierung bis zu 9 verschiedene
weitere Positionsmarkierungen gesetzt werden, und zwar, wenn man möchte,
beliebig oft im Quelltext.
setzen: »Shift-Ctrl-Ziffer« drücken (Ziffer ist dabei 1-9 oben auf der
Tastatur) --> es erscheint links die Ziffer der Positionsmarkierung
weiß auf blauem Grund
anspringen: »Ctrl-Ziffer« drücken
löschen: nochmals »Shift-Ctrl-Ziffer« in der Zeile drücken, in der die
Markierung gesetzt ist
Unter "Optionen --> Allgemeine Einstellungen --> Marker mehrmals setzen
erlauben" kann in XProfEd_JR eingestellt werden, ob eine Ziffernmarkierung
jeweils nur einmal gesetzt werden kann, oder beliebig oft (Standard: nur
einmal).
Wenn sie nur einmal gesetzt werden kann, wird sie bei einem Neusetzen an
der zuvor markierten Stelle gelöscht, sonst nicht.
Anmerkung: Beim Setzen der 2er- und 6er-Markierung (»Shift-Ctrl-2/6«) wird
durch den Scintilla-Lexer, den XProfEd benutzt, "NUL" bzw. "RS" in den
Quellcode geschrieben. Dagegen kann ich leider nichts tun, das liegt am
Lexer. Diese Einfügungen muss man daher manuell wieder löschen, wenn
man die Markierungen mit 2 und 6 verwenden möchte.

Positionsspeicher merken:
Unter "Optionen --> Allgemeine Einstellungen --> Marker speichern" kann in
XProfEd_JR eingestellt werden, ob die Positionsmarkierungen beim Speichern
eines Quelltextes mitgespeichert werden sollen oder nicht (Standard: nicht
speichern).
Wenn sie gespeichert werden, werden sie automatisch beim erneuten Laden
des Quelltextes wiederhergestellt, anderenfalls sind sie beim Schließen
des Quelltextes verloren.
Ist das Speichern aktiviert, wird im aktuellen Quelltextverzeichnis eine
Datei »sci_markers.ini« angelegt, in der die Markierungen gespeichert
werden.
Mit dem Button "bereinigen" am angegebenen Ort in den Optionen können die
Markierungen aller Quelltextdateien aus der Markierungsdatei gelöscht
werden, die im Quelltextverzeichnis des aktuell geöffneten Tabs nicht mehr
existieren.

Beste Grüße, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
01.02.2024  
 




Jens-Arne
Reumschüssel
V10.25:
Im Zuge der Erweiterung von JRPC3 auf FreeProfan64 hatte ich diverse Variablen auf 64bit umgestellt, d.h. es mussten Pointer explizit als solche deklariert werden (z.B. declare pointer p). Das funktioniert allerdings erst ab XProfan X2, weil es davor keine nicht-Postfix-behafteten Variablen gab - daran hatte ich bei der Implementierung dieses Features nicht gedacht, sorry.

Dadurch funktionierte JRPC3 mit XProfan 11 und davor nicht mehr, wenn man z.B. fbPROCs oder pbPROCs nutzt, oder auch nur dann, wenn External2Call wie standardmäßig eingeschaltet ist und external-Aufrufe mit API-Funktionen benutzt werden.

Das ist jetzt behoben. Nur dann, wenn die Compilerdirektive {$64bit} gesetzt ist, wird nun die neue Syntax für Pointer benutzt. JRPC3 ist dadurch wieder voll kompatibel zu älteren XProfan-Versionen.

Beste Grüße, Jens-Arne
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
10.07.2024  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

62.925 Betrachtungen

Unbenanntvor 0 min.
Jens-Arne Reumschüssel vor 3 Tagen
Manfred Barei25.09.2024
Gast.081529.08.2024
R.Schneider23.08.2024
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie