Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Pascal Script: PageControl registrieren? (https://www.delphipraxis.net/56119-pascal-script-pagecontrol-registrieren.html)

Die Muhkuh 1. Nov 2005 08:12


Pascal Script: PageControl registrieren?
 
Hi,

hab nochmal ein Problemchen mit dem Pascal Script :)

Delphi-Quellcode:
// Execute
FScripter.SetVarToInstance('Container', fMain.PageControl1);

//Compile
Sender.AddRegisteredVariable('Container', 'TPageControl');
Dann werden noch folgende Sachen zum Compiler und zur Laufzeit importiert:

Delphi-Quellcode:
// Compile
  SIRegister_Std(x);
  SIRegister_Classes(x, true);
  SIRegister_Graphics(x, true);
  SIRegister_Controls(x);
  SIRegister_stdctrls(x);
  SIRegister_Forms(x);

// Execute

  RIRegister_Std(x);
  RIRegister_Classes(x, True);
  RIRegister_Graphics(x, True);
  RIRegister_Controls(x);
  RIRegister_stdctrls(x);
  RIRegister_Forms(x);
Leider kommt dann folgende Meldung:

Code:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EPSCompilerException aufgetreten. Meldung: 'Invalid type for variable Container'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK  Hilfe  
---------------------------
OK, dann erstmal noch, was ich vorhabe. Container ist PageControl welches ich von dem Skript ansprechen will. Leider wird das PageControl nicht importiert (in anderen Dateien hab ich es auch nicht gesehen).

Ich hab dann versucht, die ComCtrls in den UnitImporter zu quetschen, aber das ging leider nicht, da in der Unit solche Sachen wie "WMIrgendwas (var Message); message WM_Irgendwas" und das lies der Converter nicht zu.

Habt ihr einen Vorschlag?

jim_raynor 1. Nov 2005 09:36

Re: Pascal Script: PageControl registrieren?
 
Am einfachsten ist es, wenn du schon den Sourcecode zu ComCtrls hast, einfach die Sourcecode für das PageControl in eine neue Unit zu kopieren (interface + implementation) und dort dann die fehlerhaften Funktionen einfach rausschmeissen. Sollte dann irgendwann durch den Importer gehen.

Oder du registrierst die Componente per Hand. Ist aber nicht leicht, da dann die ganzen Helper-Funktionen auch selber basteln musst.

mirage228 1. Nov 2005 11:55

Re: Pascal Script: PageControl registrieren?
 
Hi,

wie im ICQ vorgeschlagen, würde ich hier empfehlen eine Wrapper-Klasse zu bauen.

Dieser übergibst Du eine Instanz der echten Page-Control Klasse und implementierst die Methoden, die Du brauchst, und rufst sie dann beim echten Page-Control auf :)

mfG
mirage228


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz