A PHP Error was encountered

Severity: 8192

Message: Optional parameter $prod_file declared before required parameter $minify is implicitly treated as a required parameter

Filename: libraries/Carabiner.php

Line Number: 464

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 10
Function: __construct

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 129

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 280

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 151

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 208

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 297

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 335

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 282

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Session cookie parameters cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 294

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 304

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 314

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 315

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 375

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Session cannot be started after headers have already been sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 63
Function: library

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: stristr(): Passing null to parameter #1 ($haystack) of type string is deprecated

Filename: controllers/Main.php

Line Number: 229

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 229
Function: stristr

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: stristr(): Passing null to parameter #1 ($haystack) of type string is deprecated

Filename: controllers/Main.php

Line Number: 251

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 251
Function: stristr

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: stristr(): Passing null to parameter #1 ($haystack) of type string is deprecated

Filename: controllers/Main.php

Line Number: 269

Backtrace:

File: /home/paste/public_html/application/controllers/Main.php
Line: 269
Function: stristr

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: filter_var(): Passing null to parameter #3 ($options) of type array|int is deprecated

Filename: core/Input.php

Line Number: 572

Backtrace:

File: /home/paste/public_html/application/models/Pastes.php
Line: 522
Function: ip_address

File: /home/paste/public_html/application/controllers/Main.php
Line: 592
Function: getPaste

File: /home/paste/public_html/index.php
Line: 284
Function: require_once

Invokable - Paste.ie - an Irish pastebin
From Asbjørn, 8 Years ago, written in Delphi (Object Pascal).
Embed
  1. uses
  2.   System.SysUtils, System.TypInfo, System.Rtti;
  3.  
  4. type
  5.   IWidget<T> = interface
  6.     procedure SetInstance(const Inst: T);
  7.   end;
  8.  
  9.   TWidgetImpl<T> = class(TInterfacedObject, IWidget<T>)
  10.   public
  11.     procedure SetInstance(const Inst: T);
  12.   end;
  13.  
  14. { TWidgetImpl<T> }
  15.  
  16. procedure TWidgetImpl<T>.SetInstance(const Inst: T);
  17. var
  18.   ctx: TRttiContext;
  19.   typ: TRttiType;
  20.   m: TRttiMethod;
  21. begin
  22.   typ := ctx.GetType(TypeInfo(T));
  23.   m := typ.GetMethod('Initialize');
  24.   if (Assigned(m)) then
  25.   begin
  26.     m.Invoke(TValue.From<T>(Inst), []);
  27.   end;
  28. end;
  29.  
  30. type
  31.   TObjInst = class
  32.   public
  33.     procedure Initialize;
  34.   end;
  35.  
  36. { TObjInst }
  37.  
  38. procedure TObjInst.Initialize;
  39. begin
  40.   WriteLn('TObjInst.Initialize');
  41. end;
  42.  
  43. type
  44.   IIntfInst = interface(IInvokable)
  45.     procedure Initialize;
  46.   end;
  47.  
  48.   TIntfInstImpl = class(TInterfacedObject, IIntfInst)
  49.   public
  50.     procedure Initialize;
  51.   end;
  52.  
  53. { TIntfInstImpl }
  54.  
  55. procedure TIntfInstImpl.Initialize;
  56. begin
  57.   WriteLn('IIntfInst.Initialize');
  58. end;
  59.  
  60. var
  61.   wo: IWidget<TObjInst>;
  62.   o: TObjInst;
  63.   wi: IWidget<IIntfInst>;
  64.   i: IIntfInst;
  65. begin
  66.   wo := TWidgetImpl<TObjInst>.Create;
  67.   o := TObjInst.Create;
  68.   wo.SetInstance(o);
  69.  
  70.  
  71.   wi := TWidgetImpl<IIntfInst>.Create;
  72.   i := TIntfInstImpl.Create;
  73.   wi.SetInstance(i);
  74.  
  75.   ReadLn;
  76. end.
  77.  

Replies to Invokable rss

Title Name Language When
Re: Invokable Mature Leopard delphi 8 Years ago.
Re: Invokable Social Madrill delphi 8 Years ago.