Files
lazarus-ccr/bindings/pascocoa/examples/texteditor/texteditor.pas

67 lines
1.4 KiB
ObjectPascal
Raw Normal View History

{
texteditor.pas
This example shows how to create a simple text editor with PasCocoa
This example project is released under public domain
AUTHORS: Felipe Monteiro de Carvalho
}
program texteditor;
{$mode delphi}
{$linkframework Cocoa}
{$linklib objc}
uses
Math,
objc, ctypes, MacOSAll, AppKit, Foundation,
{$ifndef WITHOUT_PKG}cocoa_pkg,{$endif}
controller, model, view, mytoolbar;
var
pool: NSAutoreleasePool;
begin
{ Avoids arithmetic exceptions in Objective-C code }
SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]);
{ Creates the AutoreleasePool }
pool := NSAutoreleasePool.Create;
{ Creates the application NSApp object }
NSApp := NSApplication.sharedApplication;
// NSBundleNib.loadNibNamed_owner(CFStringCreateWithPascalString(nil, 'applemenu', kCFStringEncodingUTF8), NSApp.Handle);
{ Initializes the controller and the model. Must be before the view to
attach the events (controller) and guarantee that resources are loaded (model) }
myController := TMyController.Create();
myModel := TMyModel.Create();
{ Initializes the view object }
myView := TMyView.Create;
myView.CreateUserInterface;
{ Enters main message loop }
myView.MainWindow.orderFrontRegardless;
NSApp.setDelegate(myController.Handle);
NSApp.run;
{ Releases all objects }
myController.Free;
myModel.Free;
myView.Free;
{ Releases the AutoreleasePool }
pool.Free;
end.