Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Ressource DLL erstellen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Make-Grafik



Anmeldungsdatum: 08.10.2012
Beiträge: 29

BeitragVerfasst am: 23.11.2014, 17:44    Titel: Ressource DLL erstellen Antworten mit Zitat

Schönen guten Abend lächeln
Ich würde gerne mit FreeBASIC eine reine Ressourcen DLL erstellen, jedoch habe ich keinen Anhaltspunkt wie das zu realisieren ist. „Normale DLLs“ zu schreiben klappt ohne Probleme, aber wenn ich versuche verschiedene Daten bereitzustellen in der DLL und diese außerhalb mit FindResource oder LoadResource ansprechen will, klappt da gar nichts. happy

In dem Themengebiet habe ich noch nicht so große Kenntnisse, daher fehlt es mir leider auch an einem Beispielcode. Die Forensuche hat mich leider auch nicht weiter gebracht.

Ich weiß, sind magere Informationen. Hoffe aber das mir da jemand einen Schubs in die richtige Richtung geben kann. (Vielleicht ein Link oder Beispielcode). Google habe ich auch schon angestrengt! :/

LG. Make
_________________
Hmn :/ Mal schaun was es bringt...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 23.11.2014, 22:46    Titel: Antworten mit Zitat

Hier eine Idee:

Du könntest dir einmal folgenden Blog-Eintrag anschaun, möglicherweise sind falsche hInstance (nämlich die von der DLL) dafür verantwortlich, dass es nicht funktioniert.
http://blog.m-ri.de/index.php/2007/12/12/die-unsitte-immer-getmodulehandlenull-fuer-hinstance-in-createwindow-und-registerclass-zu-verwenden/

In FB is das leider nicht so einfach, denn es gibt keine DllMain Methode, die man selbst implementieren könnte.
Ich hab das einmal so gemacht:
Wie folgt linken:
Zitat:
fbc -dll "meineDLL.bas" "resourcen.rc" -Wl " --entry _MAIN@12" -x "meineDLL.dll"

Und im Programm eine entsprechende Methode implementieren und die FB-Initalisierungs-Funktion manuell aufrufen:
Code:
#Include "windows.bi"

Declare function DllMainCRTStartup Cdecl Alias "DllMainCRTStartup" (ByVal hInst As HINSTANCE, ByVal fdwReason As DWORD, Byval lpvReserved As LPVOID) As DWORD

Public Function Main(ByVal hInst As HINSTANCE, ByVal fdwReason As DWORD, Byval lpvReserved As LPVOID) As DWORD
   Select Case fdwReason
      
      Case DLL_PROCESS_ATTACH
         DllMainCRTStartup(hInst, fdwReason, lpvReserved)
         '...
         '... hInst speichern/verwenden...
         '...
      
      Case DLL_PROCESS_DETACH
         '...
         
      case DLL_THREAD_ATTACH
      case DLL_THREAD_DETACH
         
   End Select
   
   Return TRUE
End Function


Ich hab leider gerade zu wenig Zeit das alles auszuprobieren, aber vielleicht hilfts.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 24.11.2014, 07:41    Titel: Antworten mit Zitat

Eigentlich sollte eine resource DLL soweit ich weiß gar keine DllMain haben... Also um genau zu seinen gar keinen Code, nur Ressourcen. Und AFAIK hat fbc dafür keinen Switch.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Make-Grafik



Anmeldungsdatum: 08.10.2012
Beiträge: 29

BeitragVerfasst am: 26.11.2014, 17:23    Titel: Antworten mit Zitat

Achso, also ist das mit FreeBASIC nicht möglich.
Dann muss ich bei einer normalen DLL bleiben und mit nem Workaround arbeiten. Danke lächeln
_________________
Hmn :/ Mal schaun was es bringt...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz