AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi.net 2006 und TService

Ein Thema von Digielm · begonnen am 29. Dez 2008 · letzter Beitrag vom 4. Jan 2009
Antwort Antwort
Digielm

Registriert seit: 2. Aug 2006
246 Beiträge
 
Delphi 5 Enterprise
 
#1

Delphi.net 2006 und TService

  Alt 29. Dez 2008, 14:28
Hallo Leute

also auf einen neuen Versuch mit meinem TService unter dot net.

Hier mal der Source

Projekt
Delphi-Quellcode:
program ConnectVCL;

{%DelphiDotNetAssemblyCompiler '$(SystemRoot)\microsoft.net\framework\v1.1.4322\System.dll'}
{%DelphiDotNetAssemblyCompiler '$(SystemRoot)\microsoft.net\framework\v1.1.4322\System.Data.dll'}
{%DelphiDotNetAssemblyCompiler '$(SystemRoot)\microsoft.net\framework\v1.1.4322\System.Drawing.dll'}
{%DelphiDotNetAssemblyCompiler '$(SystemRoot)\microsoft.net\framework\v1.1.4322\System.XML.dll'}
{%DelphiDotNetAssemblyCompiler 'c:\programme\gemeinsame dateien\borland shared\bds\shared assemblies\4.0\Borland.Vcl.dll'}
{%DelphiDotNetAssemblyCompiler 'c:\programme\gemeinsame dateien\borland shared\bds\shared assemblies\4.0\Borland.Delphi.dll'}
{%DelphiDotNetAssemblyCompiler 'c:\programme\gemeinsame dateien\borland shared\bds\shared assemblies\4.0\Borland.VclRtl.dll'}
{%DelphiDotNetAssemblyCompiler '..\Borland.Data.Mssql.dll'}
{%DelphiDotNetAssemblyCompiler '..\cc_LicDec.dll'}
{%DelphiDotNetAssemblyCompiler '..\ERPConnect.dll'}

uses
  windows,
  SvcMgr,
  System.Reflection,
  System.Runtime.CompilerServices,
  System.Runtime.InteropServices,
  service in 'service.pas{Service1: TService};

{$R *.res}

{$REGION 'Programm/Assemblierungs-Informationen'}
//
// Die allgemeinen Assemblierungsinformationen werden durch die folgenden
// Attribute gesteuert. Ändern Sie die Attributwerte, um die zu einer
// Assemblierung gehörenden Informationen zu modifizieren.
//

[assembly: AssemblyDescription('')]
[assembly: AssemblyConfiguration('')]
[assembly: AssemblyCompany('')]
[assembly: AssemblyProduct('')]
[assembly: AssemblyCopyright('')]
[assembly: AssemblyTrademark('')]
[assembly: AssemblyCulture('')]

// Der Delphi-Compiler steuert AssemblyTitleAttribute via ExeDescription.
// Sie können dies in der IDE über Projekt/Optionen festlegen.
// Wenn Sie das Attribut AssemblyTitle wie unten gezeigt manuell festlegen,
// wird die IDE-Einstellung überschrieben.
// [assembly: AssemblyTitle('')]


//
// Die Versionsinformation einer Assemblierung enthält die folgenden vier Werte:
//
// Hauptversion
// Nebenversion
// Build-Nummer
// Revision
//
// Sie können alle vier Werte festlegen oder für Revision und Build-Nummer die
// Standardwerte mit '*' - wie nachfolgend gezeigt - verwenden:

[assembly: AssemblyVersion('1.0.*')]

//
// Zum Signieren einer Assemblierung müssen Sie einen Schlüssel angeben. Weitere Informationen
// über das Signieren von Assemblierungen finden Sie in der Microsoft .NET Framework-Dokumentation.
//
// Mit den folgenden Attributen steuern Sie, welcher Schlüssel für die Signatur verwendet wird.
//
// Hinweise:
// (*) Wenn kein Schlüssel angegeben wird, ist die Assemblierung nicht signiert.
// (*) KeyName verweist auf einen Schlüssel, der im Crypto Service Provider
// (CSP) auf Ihrem Rechner installiert wurde. KeyFile verweist auf eine
// Datei, die einen Schlüssel enthält.
// (*) Wenn sowohl der KeyFile- als auch der KeyName-Wert angegeben ist, wird
// die folgende Verarbeitung durchgeführt:
// (1) Wenn KeyName in dem CSP gefunden wird, wird dieser Schlüssel verwendet.
// (2) Wenn KeyName nicht, aber KeyFile vorhanden ist, wird der Schlüssel
// in KeyFile im CSP installiert und verwendet.
// (*) Ein KeyFile können Sie mit dem Utility sn.exe (Starker Name) erzeugen.
// Der Speicherort von KeyFile sollte relativ zum Projektausgabeverzeichnis
// %Projektverzeichnis%\bin\<Konfiguration> angegeben werden. Wenn sich Ihr
// KeyFile z.B. im Projektverzeichnis befindet, würden Sie das Attribut
// würden Sie das Attribut AssemblyKeyFile folgendermaßen festlegen:
// [assembly: AssemblyKeyFile('..\\..\\mykey.snk')]
// (*) Verzögerte Signatur ist eine erweiterte Option; nähere Informationen
// dazu finden Sie in der Microsoft .NET Framework-Dokumentation.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile('')]
[assembly: AssemblyKeyName('')]


//
// Verwenden Sie untenstehende Attribute, um die COM-Sichtbarkeit Ihrer Assembilierung zu steuern.
// Als Vorgabe ist die ganze Assemblierung für COM sichtbar. Das Setzen von ComVisible auf false
// ist die empfohlene Vorgabe für Ihre Assemblierung. Um eine Klasse und Interface für COM sichtbar
// zu machen, setzen Sie ComVisible für jeden Einzelnen auf true. Es wird auch empfohlen ein
// Guid-Attribut hinzuzufügen.
//

[assembly: ComVisible(False)]
//[assembly: Guid('')]
//[assembly: TypeLibVersion(1, 0)]
{$ENDREGION}

[STAThread]
begin
// Application.Initialize;
// Application.CreateForm(TERPConnect, ERPConnect);
// Application.Run;
  if not Application.DelayInitialize or Application.Installing then
    Application.Initialize;
  Application.CreateForm(TService1, Service1);
  // Application.CreateForm(TERPConnect, ERPConnect);
  Application.Run;

end.
und hier meinen Service

Delphi-Quellcode:
unit service;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;

type
  TService1 = class(TService)
  private
    { Private-Deklarationen }
  public
    function GetServiceController: TServiceController; override;
    { Public-Deklarationen }
  end;

var
  Service1: TService1;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  Service1.Controller(CtrlCode);
end;

function TService1.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

end.
Problem das ich habe das ich eine Compilermeldung bekomme

die hier : procedure ServiceController(CtrlCode: DWord); stdcall; wäre nicht nach dem ILCODE-Konvention

lasse ich den stdcall weg dann läß es sich kompilieren aber beimn Install bekomme ich die Meldung das der Objectverweis nicht auf eine Objectinstanz festgelegt wurde.

wer kann mir helfen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Delphi.net 2006 und TService

  Alt 29. Dez 2008, 15:17
Kann es sein das du hier VCL.Win32 mit .NET FCL mixt? TService ist aus VCl.Win32 und ob diese auch für VCL.NET portiert wurde

Ich würde entweder:

a, Komplett bei Win32 bleiben (VCL.Win32) und den eh schon gestorbenen Delphi.NET-Port auf VCL/Galileo-IDE außen vor lassen.

b, Delphi.Prism besorgen und dann vernünftig mit .NET 2.x/3.x arbeiten
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Digielm

Registriert seit: 2. Aug 2006
246 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Delphi.net 2006 und TService

  Alt 29. Dez 2008, 22:38
Ja habe zur zeit in diesem Projekt einen mix zwischen win32 und .net was auch soweit klappt. und ich auch leider haben muß.

Wollte aber von den Winfoms unter reinem dot net weg. also der mix.

Ich könnte noch alle framework 1.1 komponenten rauswerfen, wobei ich noch eine komponente habe die eine dot net Assembly ist die auf jeden fall in das Projekt rein muß
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Delphi.net 2006 und TService

  Alt 30. Dez 2008, 08:04
Zitat von Digielm:
Ich könnte noch alle framework 1.1 komponenten rauswerfen, wobei ich noch eine komponente habe die eine dot net Assembly ist die auf jeden fall in das Projekt rein muß
Du könntest diese Komponente COM-Visible machen und dann darüber ansprechen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Digielm

Registriert seit: 2. Aug 2006
246 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: Delphi.net 2006 und TService

  Alt 4. Jan 2009, 09:42
wo und wie kann ich denn dor net componenten COM-Visible machen ??

Hab ich noch nie gemacht.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 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