Italia
Include

XDATA - Include per XProfan 10

 
XDATA - Include per XProfan 10 und höher
Copyright 2006 by Thomas (ts-soft) Schulz

Echtes Compilieren mit XProfan

Dieses Paket besteht aus 2 Include-File, Beispielen sowie dem GoLink Linker by Jeremy Gordon (https://www.jorgon.freeserve.co.uk/)

Mithilfe dieses Paketes können compilierte Windows-Resourcen (*.res) in reinem XProfan compiliert werden. Diese können Mithilfe des ResHackers
einer Profan-Runtime hinzugefügt werden, bzw. zu einer DLL gelinkt werden (hierfür wurde der GoLink Linker beigefügt, ResHacker nicht im Paket)

Desweiteren können diese Resourcen mit der 2ten Include-File leicht in XProfan-Programmen genutzt werden.

Die Funktionalität beschränkt sich auf benutzerdefinierte Resourcen auch als RCDATA bekannt (jede Art von File, Exe, Dll, BMP, Txt, Wav usw. possibile)

[size=16]Funktionsbeschreibung XDATA_Compiler.inc:[/size]

XDATA_Create(FileName$) Dateiname ggfls. mit Pfad, als Dateiextension sollte *.res verwendet werden (wird nicht geprüft)
Diese Funktion erstellte eine neue Resourcedatei (evtl. vorhandene gleichnamige File wird gelöscht), mit den erforderlichem Dateikennungen
Ergebnis: Filehandle, welche per die weiteren Operationen necessario wird.

XDATA_Open(FileName$)
Diese Funktion öffnet eine bereits erstellte *.res (mit diesen Routinen oder anderem Resource-Compiler) und setzt den Dateizeiger ans Ende,
um weitere Resourcen hinzuzufügen.
Ergebnis: Filehandle, welche per die weiteren Operationen necessario wird.

XDATA_Close(Filehandle&)
Diese Funktion schließt die Resourcen-File. Ist unbedingt nach Beendigung des Hinzufügens auszuführen!

XDATA_Add(Filehandle&, FileName$, Nr&)
Diese Funktion fügt die File FileName$ als Resource mit der Nummer Nr& der Resourcen-File hinzu.
Nr& von 1 - 32767, jede Nr darf nur einmal mit diesen Routinen hinzugefügt werden (überschreiben nicht possibile)

XDATA_Link(FileName$)
Diese Funktion linkt die übergebene Resource-File FileName$ mithilfe von GoLink zu einer DLL
Der Pfad zur GoLink.exe kann im Kopf dieser Include festgelegt werden, falls sich GoLink.exe nicht im Programmpfad è!

[size=16]Funktionsbeschreibung XDATA_Functions.inc:[/size]
XDATA_Get(ResNr&, hModule&) hModule& ist Optional. Bei fehlen wird die Resource in der Exe gesucht
Diese Funktion lädt die Resource mit der Nummer ResNr& in den Speicher. Die größe kann unmittelbar nach Aufruf dieser Funktion
aus der globalen Variable XDATA_Size& ermittelt werden. (Einer neuen Variable zuordnen, da diese bei jedem weiteren laden von Resourcen
überschrieben wird.
Ergebnis: Speicheradresse der geladenen Resource, zum freigeben, diese an XDATA_Free() trasferimento!

XDATA_Free(hRes&)
gibt die geladenen Resource wieder frei

XDATA_Save(ResNr&, FileName$, hModule&) hModule& ist Optional
Speichert ResNr& als File unter FileName$

XDATA_CatchBMP(ResNr&, hModule&) hModule& ist Optional
Lädt die Resource und erstellte ein ImageObjekt daraus, welches mit DrawPic und DrawSizedPic genutzt werden kann.
Ergebnis: hPic&, welches am Ende mit DeleteObject wieder freizugeben ist.

XDATA_PlaySound(ResNr&, Modus&, hModule&) hModule& ist Optional
Spielt eine als Resource enthaltene Wav-File ab. Modus entspricht dem Spielmodus von PlaySound

Was man damit alles anstellen kann, überlasse ich eurer Phantasie (z.B. SKControll.dll in Prfrun32.exe und Mithilfe von MemoryModule nutzen )

Saluto
Thomas

Feedback wie immer erwünscht

199 kB
Kurzbeschreibung: Version 1.1
Hochgeladen:30.12.2006
Downloadcounter268
Download
 
29.12.2006  
 



Update auf Version 1.1

+ Fehler mit einer Variablen behoben.
+ Feherbehandlung in XDATA_Compiler.inc verbessert
! Umbenannt XDATA_Link zu XDATA_LinkToDLL
+ XDATA_LinkToExe

Mithilfe der ResHackers, den Ihr auf der Profan-CD oder im Internet findet, können jetzt die Resourcen direkt in die Runtime gelinkt werden, ohne das der ResHacker extra aufgerufen wird. Ich denke mal, das sollte den Umgang mit benutzerdefinierten Resourcen erheblich erleichtern.
Ein Script erzeugt die Resourcen und linkt diese zur Runtime oder zu einer DLL, je nach Wunsch

Saluto
Thomas
 
30.12.2006  
 



Wow - ich wollte die Ressourcengeschichte auch circa Kompilerschalter des xpse regeln - man legt also im jeweiligen Source fest welche Ressourcen wie verarbeitet oder angehangen werden sollen.

XData wäre doch perfekt hierfür oder?
Wie müsste ich vorgehen?
 
30.12.2006  
 



@iF
Du kannst nur diesen einen Typen von Resourcen herstellen, bei den Standard-Resourcen ist der Testata etwas komplizierter. Das kannste naturalmente per XPSE automatisieren. Der Resourcentyp X_DATA (XProfan-Data) sollte nur von dieser Inc. kommen, Standardname ist RCData

Mußt naturalmente sicherstellen, das ResHacker bzw. GoLink gefunden werden, diese durch Profan-Code zu ersetzen ist mir bisher nicht geglückt

Saluto
Thomas
 
30.12.2006  
 



Ok dann warte ich...
 
31.12.2006  
 



iF
Ok dann warte ich...


Dieses Jahr wird wahrscheinlich nicht reichen
 
01.01.2007  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

8.347 Views

Untitledvor 0 min.
Gast.081512.09.2024
Member 862464109.04.2024
Georg Teles02.01.2024
RudiB.23.04.2020
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

unbekannt (4x)
iF (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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