![]() |
Application.HelpJump überschreiben?
Kann man irgendwie Application.HelpJump mit einer eigenen Funktion überschreiben?
Ich würde das ganze am liebsten über eine eigene zusätzliche unit lösen... Eine eigene von TApplikation abgeleitete Klasse wäre keine Lösung, da ich die eigene Funktionalität über ein einfaches einfügen/entfernen meiner unit aktivieren/deaktivieren will. |
Re: Application.HelpJump überschreiben?
Was soll ich sagen... Das kannst du knicken. :?
Application ist auf die ekligst mögliche Art implementiert worden, als globale Variable in der Unit Forms:
Delphi-Quellcode:
Und da die Borländer nicht auf die Idee kamen, dass wenigstens ein paar Delphianer OO programmieren sind keinerlei Methoden von TAplication virtual oder dynamic. :?
{ Global objects }
var Application: TApplication; Screen: TScreen; ... Viel Spass... :mrgreen: |
Re: Application.HelpJump überschreiben?
Zitat:
Es gibt da z.B. eine Komponente namens ThhComp, die sich dieses Event krallt und die Hilfe auf das neuere Dateiformat *.CHM umleitet. |
Re: Application.HelpJump überschreiben?
Ich hab jetzt mal folgendes probiert:
Delphi-Quellcode:
Ich bekomme folgende Fehlermeldung:
program test;
uses Forms{, unit2}, frm_Main in 'frm_Main.pas' {Main}, {$R *.RES} function MyHelp(Command: Word; Data: Integer; var CallHelp: Boolean): Boolean; begin //hier soll mein Code hin end; begin Application.Initialize; Application.OnHelp:=MyHelp; Application.ShowMainForm := False; Application.CreateForm(TMain, Main); end. Zitat:
|
Re: Application.HelpJump überschreiben?
Ich habe das immer im "OnCreate" der Form deklariert. Da verursacht es keine Probleme. Vermutlich, weil du das "OnHelp"-Event als Form-bezogene Prozedur (TForm1.XXXX) deklarierst.
|
Re: Application.HelpJump überschreiben?
Im onCreate der Form hilft mir das nicht weiter... ich will das ganze am Ende über eine unit implementieren, da es nur ein Workaround für einen Bug in Delphi2005 werden soll. Ich will dazu so wenig wie möglich an meinem Code herumbasteln. :gruebel:
|
Re: Application.HelpJump überschreiben?
die Fehlermeldung sagt doch schon alles. du hast "MyHelp" als reguläre Procedure aber erwartet wird eine Methode. MyHelp muss also eine Methode einer Klasse sein.
|
Re: Application.HelpJump überschreiben?
Zitat:
nur mal so ne idee... :duck: |
Re: Application.HelpJump überschreiben?
Ich hab das Problem jetzt gelöst ;)
> ![]() Ich hab einfach eine eigene Klasse von TControl abgeleitet und eine kompatible OnHelp-Funktion geschrieben. Es funktioniert alles bestens... nur die fertigen Programme werden durch meinen Workaround ca. 200k grösser :?, da ich ein externes Programm in eine Resource packen musste... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz