Der Tipp ist gut, ich werde ihn versuchen, leider heute nicht mehr.
Was mich allerdings irritiert ist, die Form1unit1 ist überall schon eingebunden, warum funktioniert es nicht, wenn alle Funktionen in der Form1unit1 definiert werden?
Weil deine Funktion im Implementation Abschnitt steht. Damit wird sie nicht gefunden, da nicht global sichtbar.
So könnte man das machen, wobei kein guter Programmierstil.
Delphi-Quellcode:
unit Unit21;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls;
type
TForm1 =
class(TForm)
Button3: TButton;
procedure Button3Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
function MyShowMessage(
const AMessage:
string; AFontSize: Integer): Integer;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TForm1.MyShowMessage(
const AMessage:
string; AFontSize: Integer): Integer;
var
dlg: TForm;
begin
dlg := CreateMessageDialog(AMessage, mtInformation, [mbOK]);
try
dlg.Position := poScreenCenter;
dlg.ScaleBy(AFontSize, dlg.Font.Size);
Result := dlg.ShowModal;
finally
dlg.Free;
end;
end;
PS: Bitte deinen Code in Delphi Tags einschliessen, da der Code dann besser sichtbar ist.