WinAPI-Wrapper für Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Ich habe mir einen kleinen WinAPI-Wrapper mit Delphi gebaut und nun habe ich zwei Fragen. Wenn ich die Klasse CWindow mit Create aufrufe, kommt eine Runtime 216-Fehlermeldung. Wie kann man dieses Problem beheben? Als Nächstes will ich versuchen, die WndProc-Funktion in Message-Mapping Funktionen - ähnlich der MFC -einzukapseln. Dafür habe ich bisher noch keinen richtigen Plan, jedoch habe ich es bereits ohne richtigem Erfolg versucht. Die Dateien befinden sich im Anhang, wobei in "window.pas" die Klasse "CWindow" enthalten ist und im Projekt "test" befindet sich demnach ein kleiner Versuch. |
AW: WinAPI-Wrapper für Delphi
Zitat:
Zitat:
Haste dir die MFC-Quellen mal angeschaut? Die basieren nicht nur auf diversen Mechanismen die man nur mit C++-Templates hinbringt (und Delphi Generics können nicht alles nachbilden) sondern vor allem auf jeder Menge Makros. Delphi hat keinen Präprozessor (und alle Versuche sowas nachzubilden fand ich bisher eher lachhaft) - einen CPP könnte man natürlich direkt einspannen (bspw. MCPP). |
AW: WinAPI-Wrapper für Delphi
Mir scheint, du möchtest sogenannte Non-VCL-Programme mit Delphi schreiben.
Also Programme, die ohne VCL auskommen, direkt auf der Windows-API aufsetzen und daher besonders kleine Exe-Dateien haben. |
AW: WinAPI-Wrapper für Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo nochmal,
Ich habe nochmal eine überarbeitete Version des Fensters in den Anhang gelgt, wobei der Fehler aufgrund des fehlendem Constructors kam. Zur Zeit habe ich nicht vor, die WndProc-Funktion als Message-Mapping auszugeben, aber ich möchte, dass die WndProc-Funktion in der Klasse CWindow enthalten ist und dass ich diese von dort aus auch aufrufen kann. Meine Frage ist daher, ob es möglich ist, die WndProc als static zu deklarieren. Ich habe zwar etwas von class gelesen, aber das läuft nicht so ganz. Eine Fehlermeldung kommt zwar nicht, aber das Fenster wird nicht angezeigt und das Programm bleibt stecken. Kann mir diesbezüglich jemand helfen? @sx2008: So ungefähr. Ich möchte aber ein Fenster in einer Klasse einkapseln lassen. Für C++ gibt es dafür mehrere Tutorials, die mir aber aufgrund der Unterschiede der beiden Sprachen wenig helfen. |
AW: WinAPI-Wrapper für Delphi
Das wird das Problem sein: http://www.michael-puff.de/Programmi...ckMethod.shtml
Man beachte auch die Links am Ende des Artikels. |
AW: WinAPI-Wrapper für Delphi
Danke nochmal! Ich werde es heute Abend mal ausprobieren.
|
AW: WinAPI-Wrapper für Delphi
Hallo,
Delphi IST ein WinAPI-Wrapper. Entweder benutze ich Win32 direkt oder die entsprechenden Funktionen/Komponenten von Delphi, wozu noch ein API mit der gleichen Funktion? MFC ist auch nur ein anderer WinAPI-Wrapper. Wenn du es schöner findest, benutze es halt. Gruss Reinhard |
AW: WinAPI-Wrapper für Delphi
Zitat:
Zitat:
Wenn er es ohnehin schlank will, müßte er schon auf ATL+WTL ausweichen. Denn auch MFC kommt schwergewichtig daher (ähnlich wie die VCL in diesem Sinn). |
AW: WinAPI-Wrapper für Delphi
Zitat:
Sinn macht das nur in Sprachen wie VB Da hier noch alle API's von Hand eingefügt werden müssen. gruss |
AW: WinAPI-Wrapper für Delphi
Beim .net merkt das nur keiner, weil viele das ganze .Net-Framework vergessen, welches im Hintergrund nötig ist.
PS: Man könnte es ja mal mit Runtime-Libraries versuchen ... da ist die EXE auch recht klein. :stupid: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz