Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Anwendungen von Delphi5 nach Lazarus portiert -- seltsame Effekte

33 views
Skip to first unread message

Heinrich Wolf

unread,
Apr 4, 2011, 1:03:15 PM4/4/11
to
Hallo,

ich habe zwei Anwendungen erst mal von Delphi5 nach Lazarus für Linux
portiert. Alles schaut gut aus. Dann hab ich sie von Lazarus für Linux nach
Lazarus für Windows portiert. Da treten dann seltsame Effekte auf:

Beide Anwendungen starten zusätzlich zum Windows Fenster ein
Konsolenfenster. Warum? Wie kriege ich das weg?

Die eine Anwendung schafft nicht, das Windows Fenster zu erzeugen. Am Ende
meines FormCreate() Codes kommt die Exception: Failed to create win32
control, error: 1407 : Fensterklasse wurde nicht gefunden. Wie krieg ich
diese Exception weg?

Gruß
Heiner

Heinrich Wolf

unread,
Apr 7, 2011, 2:07:41 AM4/7/11
to

"Heinrich Wolf" <inv...@invalid.invalid> schrieb im Newsbeitrag
news:inctkn$ih0$1...@news.m-online.net...
...

> Beide Anwendungen starten zusätzlich zum Windows Fenster ein
> Konsolenfenster. Warum? Wie kriege ich das weg?

ist gelöst.

> Die eine Anwendung schafft nicht, das Windows Fenster zu erzeugen. Am Ende
> meines FormCreate() Codes kommt die Exception: Failed to create win32
> control, error: 1407 : Fensterklasse wurde nicht gefunden. Wie krieg ich
> diese Exception weg?

Im Konsolenfenster kommt:

Failed to create win32 control, error: 1407 : Fensterklasse wurde nicht
gefunden
.

[FORMS.PP] ExceptionOccurred
Sender=Exception
Exception=Failed to create win32 control, error: 1407 : Fensterklasse
wurde ni
cht gefunden.
Stack trace:
$0059F77B FINISHCREATEWINDOW, line 267 of win32wscontrols.pp
$005A0BA3 TWIN32WSCUSTOMFORM__CREATEHANDLE, line 403 of win32wsforms.pp
$004C3031 TWINCONTROL__CREATEWND, line 7265 of ./include/wincontrol.inc
$004157C3 TSCROLLINGWINCONTROL__CREATEWND, line 34 of
./include/scrollingwin
control.inc
$0041AFEC TCUSTOMFORM__CREATEWND, line 2467 of ./include/customform.inc
$0041BCB9 TFORM__CREATEWND, line 2825 of ./include/customform.inc
$004C2B65 TWINCONTROL__CREATEHANDLE, line 7176 of
./include/wincontrol.inc
$004C3CBA TWINCONTROL__HANDLENEEDED, line 7613 of
./include/wincontrol.inc
$00421ABB TAPPLICATION__CREATEFORM, line 2102 of
./include/application.inc
$004030EB main, line 30 of calprint.lpr
TApplication.HandleException Failed to create win32 control, error: 1407 :


Fenst
erklasse wurde nicht gefunden.

Stack trace:
$0059F77B FINISHCREATEWINDOW, line 267 of win32wscontrols.pp
$005A0BA3 TWIN32WSCUSTOMFORM__CREATEHANDLE, line 403 of win32wsforms.pp
$004C3031 TWINCONTROL__CREATEWND, line 7265 of ./include/wincontrol.inc
$004157C3 TSCROLLINGWINCONTROL__CREATEWND, line 34 of
./include/scrollingwin
control.inc
$0041AFEC TCUSTOMFORM__CREATEWND, line 2467 of ./include/customform.inc
$0041BCB9 TFORM__CREATEWND, line 2825 of ./include/customform.inc
$004C2B65 TWINCONTROL__CREATEHANDLE, line 7176 of
./include/wincontrol.inc
$004C3CBA TWINCONTROL__HANDLENEEDED, line 7613 of
./include/wincontrol.inc
$00421ABB TAPPLICATION__CREATEFORM, line 2102 of
./include/application.inc
$004030EB main, line 30 of calprint.lpr
exception at 0059F77B:


Failed to create win32 control, error: 1407 : Fensterklasse wurde nicht
gefunden
.

Bei der Zuweisung
Window := CreateWindowExW(FlagsEx,
PWideChar(WideString(pClassName)),
PWideChar(UTF8ToUTF16(WindowTitle)), Flags,
Left, Top, Width, Height, Parent, MenuHandle, HInstance,
@NCCreateParams)
wird Window 0. Die wichtigsten Übergabeparameter sind:
FlagsEx 65536
pClassName Window
WindowTitle Kalender
Flag 113901568
Left 589
Top 222
Width 583
Height 394
Parent 0
MenuHandle 0
HInstance 4194304

Heiko Nocon

unread,
Apr 7, 2011, 2:47:24 AM4/7/11
to
Heinrich Wolf wrote:

> Exception=Failed to create win32 control, error: 1407 : Fensterklasse
>wurde ni
>cht gefunden.

[...]
>pClassName Window


Offensichtlich gibt's also die Fensterklasse namens "Window" nicht. Es
sollte also schon vorher irgendwo einen fehlgeschlagenen Aufruf von
RegisterClass oder RegisterClassEx geben. Oder, wenn nicht, fehlt
einfach diese Klassenregistrierung, warum auch immer.

Auch möglich wären Diskrepanzen beim Klassennamen. Das viele
Rumgewurschtele mit unterschiedlichen Codierungen dort sieht mir
einigermaßen suspekt aus.

Heinrich Wolf

unread,
Apr 7, 2011, 9:09:01 AM4/7/11
to

"Heiko Nocon" <Heiko...@gmx.net> schrieb im Newsbeitrag
news:menqp6tqn9or3n3an...@4ax.com...
gelöst!

pClassName Window ist ok.
Es fehlte Application.Initialize im *.lpr.

0 new messages