A minor problem with your solution seems to be that you can't actually
invoke it before you have created a new window of some kind, though
it apparently suffices to do
propsheet_destroy(propsheet_new_box('',false,false,[]));
so this could go into the library
-----------------------------------------------------------------------
lvars xfirsttime = true;
define lconstant procedure xsetup;
if xfirsttime then
;;; Need a window to have been created
propsheet_destroy(propsheet_new_box('',false,false,[]));
false -> xfirsttime;
endif;
enddefine;
define global XrmGetStringDatabase(s) -> db;
lvars s, db;
xsetup();
check_string(s);
exacc (1) :exptr raw_XrmGetStringDatabase(s) -> db;
fail_coerce(db) -> db;
enddefine;
define global XrmGetFileDatabase(fname) -> db;
lvars fname, db;
xsetup();
exacc (1) :exptr raw_XrmGetFileDatabase(fname) -> db;
fail_coerce(db) -> db;
enddefine;
define global XrmPutFileDatabase(db, fname);
lvars fname, db;
xsetup();
exacc (2) raw_XrmPutFileDatabase(db, fname);
enddefine;
define global XprmGetDisplayDatabasePtr(display) -> db;
lvars display, db;
xsetup();
;;; eek!!!
exacc [@] :Display display.db -> db
enddefine;
define global XprmGetDisplayDatabase(display) -> db;
lvars display, db;
xsetup();
;;; eek!!!
exacc :Display display.db -> db
enddefine;
-----------------------------------------------------------------------
(Should I be worried by the "eeks" ?)
Aaron
|