Zitat:
wie kann ich heraus bekommen wlche RichEdit-Version aktuell (von Delphi) genutzt wird?
Jetzt, wo Du es erwähnst :
Bei Delphi 7,
Unit "ComCtrls" heißt es :
Delphi-Quellcode:
procedure TCustomRichEdit.CreateParams(var Params: TCreateParams);
const
RichEditModuleName = 'RICHED32.DLL';
HideScrollBars: array[Boolean] of DWORD = (ES_DISABLENOSCROLL, 0);
HideSelections: array[Boolean] of DWORD = (ES_NOHIDESEL, 0);
begin
if FRichEditModule = 0 then
begin
FRichEditModule := LoadLibrary(RichEditModuleName);
if FRichEditModule <= HINSTANCE_ERROR then FRichEditModule := 0;
end;
inherited CreateParams(Params);
CreateSubClass(Params, 'RICHEDIT');
with Params do
begin
Style := Style or HideScrollBars[FHideScrollBars] or
HideSelections[HideSelection];
WindowClass.style := WindowClass.style and not (CS_HREDRAW or CS_VREDRAW);
end;
end;
Ob es aber was bringt, statt 'RICHED32.DLL' nun 'RICHED20.DLL' hinzuschreiben, glaube ich nicht, zumal es ja nicht wirklich möglich ist, die Standard-Units neu zu compilieren.
Wie man einige neuere RichEdit-Möglichkeiten nutzen kann, wird ja von Wolfgang Beintvogl ( siehe den Auszug aus der Toolbox inkl. Sourcen im Beitrag #8 ) erklärt.
Wie man gezielt DLLs auswertet, um dann anhand der gewonnenen Namen von Funktionen und Prozeduren auf diese zugreifen zu können, weiß ich leider nicht mehr. Dafür habe ich mich einige Jahre lang nicht mehr intensiv genug mit Delphi befaßt. Es kann natürlich sein, daß Borland seinerzeit nicht alles eingebunden hat, weil es das z.B. vielleicht damals noch nicht gab. In sofern ein interessanter Aspekt.
So, ich hatte jetzt zwischendurch mal etwas gegoogelt und dann bei Heise diesen Download-Link
http://www.heise.de/software/download/ddwl37900 für "Dependency Walker" gefunden und mir dann damit mal kurz die 'RICHED20.DLL' angesehen. Was da erst noch alles an weiteren DLLS eingebunden wird, ist erschreckend.
Allerdings ist das eigentliche Endergebnis eher ernüchternd :
IID_IRichEditOle
IID_IRichEditOleCallback
CreateTextServices
IID_ITextServices
IID_ITextHost
IID_ITextHost2
REExtendedRegisterClass
RichEdit10ANSIWndProc
RichEditANSIWndProc