+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

LL23: Problem mit GDI nach Drucken mit List&Label

print

(Plamen Petrov) #1

Hallo,

wir verwenden List&Label v.23.

Nach ein Report geöffnet und geschlossen wird, gibt GetSysColorBrush(COLOR_BTNFACE) ein GDI Object das Problem mit GetObject() macht. Das passiert nur mit COLOR_BTNFACE, es reicht dass die Reportvorlage nachdem Öffnen sofort geschlossen wird.
So:
hJob = LlJobOpen(CMBTLANG_GERMAN);
LlJobClose(hJob);
LOGBRUSH lb;
VERIFY(::GetObject(::GetSysColorBrush(COLOR_BTNFACE), sizeof(LOGBRUSH), (LPVOID)&lb)); // Scheitert!

Hat Jemand dieses Problem auch erfahren?

Mit freundlichen Grüßen,
Plamen


(combit - Jochen Bartlau) #2

Ich habe eben versucht, das nachzustellen und habe dafür in unserem Sample “Print and Design Labels” den Code wie folgt ergänzt:

BOOL CPrtloopDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	m_hJob = LlJobOpen(-1);
	LlJobClose(m_hJob);
	LOGBRUSH lb;
    VERIFY(::GetObject(::GetSysColorBrush(COLOR_BTNFACE), sizeof(LOGBRUSH), (LPVOID)&lb));
}

Der Call kommt korrekt zurück und lb enthält ein gültiges Objekt. Ich würde Ihnen vorschlagen, das Beispiel einmal selbst zu testen und ggf. unseren Support zu bemühen, wenn sich das Problem nur in Ihrer Anwendung zeigen sollte.


(Plamen Petrov) #3

Sie haben Recht, dass der Fehler mit diesem Beispiel nicht auftritt. Auch bei unserer App, kommt das Problem erst nachdem eine andere Bibliothek verwendet wird (CodeJock):

XTPSkinManager()->LoadSkin(...);

Vor diesem Aufruf scheitert GetObject() nicht.


(combit - Jochen Bartlau) #4

Dann würde ich vorschlagen, dass Sie zunächst einmal bei CodeJock nachfragen, vielleicht ist das Problem dort auch bekannt. Dass eine Skinning-Lösung Einfluss auf das Erzeugen eines Button-Brush nimmt klingt ja auch naheliegend. CodeJock kann sich gerne bei uns melden, wenn wir helfen können. Es wäre toll, wenn Sie die abschließende Lösung hier im Forum posten würden.


(Plamen Petrov) #5

Ich habe das Problem bey den CodeJock Support-Foren gemeldet.


(combit - Jochen Bartlau) #6

Der gepostete Link hat nicht funktioniert und wurde daher vom Moderator entfernt, evtl. ist er nur für registrierte CodeJock-User verfügbar? Ich bin gespannt, was sich aus Ihrer Anfrage ergibt.


(Plamen Petrov) #7

Bislang keine Antwort. Falls eine kommt, werde ich mich melden.

Inzwischen habe ich eine Kopie von “Print and Design Labels” mit CodeJock gelinkt - da tritt das Problem auch.

Ich bin aber nicht sicher ob es erlaubt ist Ihnen den Project zu geben, da in dem Include-Verzeichnis auch Quelltext gibt - die Include-Files sind mit .cpp gemischt.