Noch eine letzte Vermutung, dann bin ich auch mit meinem Latein am Ende:
Die anderen String Parameter deiner Funktion hast du als
const WideString
deklariert, den SkinConfig aber als normalen
String
. Das
const
schaltet indirekt den Ref-Count der String-Parameter aus, was bei SkinConfig aber nicht der Fall ist. Vielleicht gibt es da Probleme mit dem SharedMemory zwischen
Dll und MainApp.
Danke! Ich könnte das mal versuchen um festzustellen ob es daran liegt. (Aus Neugierde)
Der String Ansicht macht kein Problem..
Daher habe ich es jetzt anders gelöst.
Beim initialisieren der Engine muss ich ja den Default Pfad zur Skin Konfiguration angeben.
Delphi-Quellcode:
// Skin Initialisieren und einstellungen laden
SKAERO_InitSkin(MainHandle, DefSkin, True, True);
Da habe ich mir jetzt eine extra Property angelegt mit der ich diesen Pfad einlesen kann.
OpenDialog.PrepareWindow(DlgHandle, SkinEngine.SkinConfigFile);
Seit dem habe ich ruhe.
Jetzt geht es mit kompilierter exe und in der
IDE..
Was aber nicht heißen soll das es mich nicht interessieren würde warum es nun nicht geht
wenn der Pfad bei OpenSaveFileDialog direkt mit übergeben wird.
Schon seltsam das ganze.
Ich muss jetzt nur noch sehen wie ich die Farbe des SysListView32 verändern kann danach ist das für mich in Ordnung so.
Vielleicht mache ich noch ein AlbumCover in den Dialog.. mal sehn.
Aber das ist ein anderes Thema.
gruss