Deutsch
Forum

Vertragen sich die SKControl.DLL und die ListView.DLL nicht?

 
- Seite 1 -



Stephan
Sonneborn
Hallo Freunde,

mir ist da was komisches aufgefallen: wenn man die SKControl.DLL VOR der ListView.DLL lädt, läuft das kleine Beispiel-Programm.
Wenn man die Reihenfolge umkehrt, stürzt der Interpreter ab (Runtime hab ich nicht getestet).
Das liegt übrigens weder an der 11er noch an der 12er XProfan Version, denn beide verhalten sich gleich...

Kann sich das jemand erklären? Überschreiben sich die DLLs gegenseitig den Speicher (also die SKControl.DLL den Speicherbereich der Listview.DLL)?
 $I SKCONTROL.INC
'Wenn die ListView.DLL VOR der SKControl.DLL geladen wird, stürzt XPROFAN ab.
'VAR LVDLL& = USEDLL("LISTVIEW.DLL")
VAR SKDLL& = USEDLL("SKCONTROL.DLL")
VAR LVDLL& = USEDLL("LISTVIEW.DLL")
SKCtrl_InitDll()
CLS
VAR Test$ = "Ich bin ein SKControl-Edit"
VAR Edit& = SKCtrl_CreateColorEdit(%HWND,ADDR(Test$), RGB(000,000,000) , RGB(255,000,000),10,10,100,20,%hInstance)
WAITINPUT
SKCtrl_InitDll()
FREEDLL SKDLL&
FREEDLL LVDLL&
END
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
10.03.2011  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Stephan
Sonneborn
Ach ja... manchmal sieht man den Wald vor lauter Bäumen nicht...

Ich hab die SKCtrl_InitDLL() in die Include verbaut und brauch mich dann nicht zu wundern, wenns nicht geht, bevor die DLL geladen ist...

 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
10.03.2011  
 




Thomas
Freier
Verwende Beides seit Jahren ohne Probleme. Neueste Versionen vorhanden?
Der Aufbau bei mir in der Regel (Pfade anpassen):
Var old_file$ = GetDir$("@")'$ProgDir'
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Franks ListView
Declare lvdll&, ilist&,anzahl&,ndll&
lvdll&=usedll(old_file$+"\\Lib\\Listview.dll")
 $I Include\Listview_Funktionen.inc
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SKControl.DLL - Funktionen definieren...
 $I Include\SKControl.inc
var hdll& = UseDll(old_file$+"\\Lib\\SKControl.dll")
SKCtrl_InitDll()
var skfb& = SKCtrl_RGB(150,200,200)
cls
var listview&=CreateListview(%hwnd,%hinstance,0,Rgb(255,255,255),-1,$31)
BuildListview(listview&,6,30,80,0)
ShowListview(listview&,10,100,400,300)
VAR Test$ = "Ich bin ein SKControl-Edit"
VAR Edit& = SKCtrl_CreateColorEdit(%HWND,ADDR(Test$), RGB(000,000,000) , RGB(255,000,000),10,10,100,20,%hInstance)
WaitInput
 $I Include\Listview_Dispose.inc
FreeDLL lvdll&
SKCtrl_DeInitDll()
FreeDll hDll&
end
 
Gruß Thomas
Windows XP SP2, XProfan X2
10.03.2011  
 




Stephan
Sonneborn
Stephan Sonneborn (10.03.11)
mir ist da was komisches aufgefallen: wenn man die SKControl.DLL VOR der ListView.DLL lädt, läuft das kleine Beispiel-Programm.


Die Lösung ist ganz einfach: Es lag an Einfügestelle der Include SKControl. Wenn diese NACH dem DLL-Aufruf kommt,ist die Lade-Reihenfolge der DLLs egal.
'So gehts...'
VAR LVDLL& = USEDLL(GETDIR$("@") + "\\LISTVIEW.DLL")
VAR SKDLL& = USEDLL(GETDIR$("@") + "\\SKCONTROL.DLL")
'VAR LVDLL& = USEDLL(GETDIR$("@") + "\\LISTVIEW.DLL")
 $I SKCONTROL.INC
SKCtrl_InitDll()
CLS
VAR Test$ = "Ich bin ein SKControl-Edit"
VAR Edit& = SKCtrl_CreateColorEdit(%HWND,ADDR(Test$), RGB(000,000,000) , RGB(255,000,000),10,10,100,20,%hInstance)
WAITINPUT
SKCtrl_DeInitDll()
FREEDLL SKDLL&
FREEDLL LVDLL&
END
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
10.03.2011  
 




Stephan
Sonneborn
Thomas Freier (10.03.11)
Verwende Beides seit Jahren ohne Probleme. Neueste Versionen vorhanden?


Hallo Thomas,

ja, neueste Versionen sind installiert. Schmiert denn das obige Listing bei Dir auch ab, wenn die SKControl.DLL nach der ListView.DLL geladen wird und die Include vor beiden aufgerufen wird?
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
10.03.2011  
 




Stephan
Sonneborn
Ach ja... manchmal sieht man den Wald vor lauter Bäumen nicht...

Ich hab die SKCtrl_InitDLL() in die Include verbaut und brauch mich dann nicht zu wundern, wenns nicht geht, bevor die DLL geladen ist...

 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
10.03.2011  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

7.267 Betrachtungen

Unbenanntvor 0 min.
Georg Teles31.10.2019
Michael W.07.07.2016
Christof Neuß11.01.2016
rquindt09.08.2015
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Stephan Sonneborn (4x)
Thomas Freier (1x)


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