Entwickler-Ecke

Andere .NET-Sprachen - Eigene Assembly (.dll) einbinden


nullplan001 - Sa 15.07.06 21:11
Titel: Eigene Assembly (.dll) einbinden
Hi all,
ich habe mir da eine Assembly gebastelt. Sie enthält keine Methode "main", sondern nur eine Klasse mit Constructor. Diesen Code habe ich wie folgt kompiliert:

Quelltext
1:
2:
chrome gplsplash.pas /assemblyname:gplsplash /type:library /ref:$(Framework)\System.dll
/ref:$(Framework)\System.Drawing.dll /ref:$(Framework)\System.Windows.Forms.dll

Jetzt habe ich eine andere Assembly mit der uses-Klausel:

Chrome-Quelltext
1:
2:
3:
4:
5:
6:
7:
uses
    System,
    System.Drawing,
    System.Windows.Forms,
    System.Threading,
    System.Diagnostics,
    GPLSplash;

Wenn ich das jetzt wie oben, nur mit '/type:winexe' und einer ref mehr, nämlich '/ref:$(Project)\GPLSplash.dll' kompiliere, kriege ich aber folgenden Fehler:

Quelltext
1:
2:
D:\Dokumente und Einstellungen\Markus\Eigene Dateien\backup\binkoff.pas(9,4) : Error : (PE17) Name
space "GPLSplash" does not exist or has no public types

(Zeile 9 ist die letzte Zeile der uses-Klausel) Was muss ich anders machen, damit das klappt? Ich habe nicht wirklich Bock, den ganzen Code bei jedem GPL-Projekt wieder zu kopieren.
tia und tschö,
nullplan


Kha - Sa 15.07.06 22:41

Nun ja, ist die Klasse denn public?


nullplan001 - Mo 17.07.06 18:50

Hi,
danke für den Tipp, das war der Fehler. Ich hatte erst geschrieben:

Delphi-Quelltext
1:
type SplashForm = class (Form)                    

Richtig gewesen wäre:

Delphi-Quelltext
1:
type SplashForm = public class (Form)                    

(Obwohl hernach noch eine Unterscheidung in publike und private Funktionen stattfand... wer weiß?)
Danke nochmal und tschö,
nullplan