XIDE von Begin an

Deutschsprachiges X#-Forum – German language forum

Moderator: wriedmann

User avatar
Horst
Posts: 327
Joined: Tue Oct 13, 2015 3:27 pm

XIDE von Begin an

Post by Horst »

Hallo

Ich habe von Wolfgang 3 Prg's die einen Windows Service erstellen sollen, ich hab die Dinger jetzt ein wenig abgeändert und will ein frisches Projekt mit Xide und Vo Dialekt erstellen.
Ich startete Xide und habe ein neues Projekt erstellt. Ich bringe es aber nicht fertig, diese 3 Prg's so reinzusaugen damit was anständiges dabei rauskommt.
Wie macht man das - Schritt für Schritt
Gruss
Horst
User avatar
wriedmann
Posts: 3649
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

XIDE von Begin an

Post by wriedmann »

Hallo Horst,

an und für sich solltest Du eine neue Applikation erstellen, als Target "Windows" angeben.
Das automatisch erstellte Modul kannst Du rauswerfen, dann mit Rechtsklick auf der Applikation "AddExisting", "Add Files" wählen, die Dateien angeben und in der Meldung, dass die Dateien außerhalb des Projektes liegen und ob sie kopiert werden sollten, mit Yes beantworten.
Mir ist jetzt zwar ein Rätsel, warum da nicht eine viaef-Datei da ist, aber gleich.

Ich habe die VIAEF-Datei auch noch mal gezippt hier angehängt.

Wolfgang
XSharpService.zip
(2.46 KiB) Downloaded 22 times
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
Horst
Posts: 327
Joined: Tue Oct 13, 2015 3:27 pm

XIDE von Begin an

Post by Horst »

Halllo Wolfgang
Das war schon dabei , ich habe im Xide die Prg's angepasst und dann dir File in einen anderen Ordner kopiert. Wollte eine saubere neue App machen. Mit den Schaltern für VO. Das war bei deinem Beispiel auf Core. Und ich wollte mal von Anfang an ein Projekt erstellen. Ohne etwas zu importieren. Wen ich ein neues Projekt angelegt habe könnte ich eine neue Applikation auswählen. Da hat es aber keinen VO Service dabei und ich steh schon am Berg was ich da auswählen soll.
Gruss Horst
User avatar
wriedmann
Posts: 3649
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

XIDE von Begin an

Post by wriedmann »

Hallo Horst,
einen VO-Service wirst Du da auch nie finden. Das macht nur Sinn, wenn man einen VO-Service migriert.
Den Dialekt kannst Du jederzeit umstellen und die References kannst Du auch anpassen.
Du kannst auch den Typ jederzeit umstellen, das geht in XIDE einfach und schnell.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
Horst
Posts: 327
Joined: Tue Oct 13, 2015 3:27 pm

XIDE von Begin an

Post by Horst »

Hallo Wolfgang
Ich habe nun dein ZIP verwendet , die Prgs dann mit meinen überschrieben. Musste seltsameweise noch die Using anpassen, da ich eine ältere Version von die verändert habe.
Habe die Referencen kontrolliert. Nur wen ich meines Compiliere macht er Fehler auf dem Installer.
Linie PUBLIC CLASS WindowsServiceInstaller INHERIT Installer
Es fehlt im eine Recource. Aber ich finde micht heraus welche?

[The extension viaef has been deactivated and can no longer be displayed.]

Gruss Horst

Noch ne Frage warum braucht es die Using's wen man die Referencen eh angibt ?
User avatar
SHirsch
Posts: 282
Joined: Tue Jan 30, 2018 8:23 am

XIDE von Begin an

Post by SHirsch »

Hallo Horst,

bei XIDE gibt es eine coole Möglichkeit die fehlenden Referenzen zu finden:
Rechtsklick auf das Problem (also Installer), dann 'Search for type named XXX in namespaces'. In diesem Fall wird es gefunden. Als Referenz fehlt 'System.Configuration.Install' und das Gleiche als USING.

Jetzt kommt aber das nächste Problem die Klasse 'XSharpService' die in Start() initialisiert werden soll, gibt es nicht. Du hast zweimal den ServiceInstaller drin. Einmal in Service.prg im Namespace'XSharpService' und einmal in ServiceInstaller.prg im Namespace 'xsharp.XsharpService'.
Hier sieht man sehr schön warum USING verwendet werden kann. Man kann zweimal den gleichen Klassennamen verwenden in verschiedenen Namespaces. Um jetzt zu entscheiden welche genommen wird, kann entweder USING verwendet werden. Oder aber die Klassenbezeichnung inklusive Namespace.

Code: Select all

USING XsharpService
...
var o := WindowsServiceInstaller{}

oder aber
//ohne Using
var o := xsharp.XsharpService.WindowsServiceInstaller()
Stefan
User avatar
wriedmann
Posts: 3649
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

XIDE von Begin an

Post by wriedmann »

Hallo Horst,
siehe hier zum Konzept Namespaces (using):
https://docs.xsharp.it/doku.php?id=name ... _reference
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
Horst
Posts: 327
Joined: Tue Oct 13, 2015 3:27 pm

XIDE von Begin an

Post by Horst »

Hallo Stefan und Wolfgang
Zuerst, ich habe einen völligen Mist hochgeladen (copy und paste lässt grüssen). :-) Das richtige Muster von Wolfgang (XSharpService) kompiliert tadellos.
Ich werde jetzt mal einfach alle Knöpfe in Xide drücken und mal schauen was dabei rauskommt wen ich diverse Sachen neu anlege ;-)
Gruss Horst und Danke
User avatar
wriedmann
Posts: 3649
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

XIDE von Begin an

Post by wriedmann »

Hallo Horst,
die XIDE sollte eigentlich weitgehend verständlich sein - aber sie bringt halt ein paar neue Konzepte mit (auch wenn es lang nicht so viele sind wie bei Visual Studio).
Und sie war in erster Linie als Entwicklungstool für den Author selber gedacht, mit Inputs von jeder Menge anderen Benutzer, die irgendwas haben wollten (drunter auch meine Wenigkeit). Glücklicherweise ist Chris sehr offen für Änderungs- und Erweiterungs-Wünsche, wenn man ihm den Grund plausibel machen kann.
Wolfgang
P.S. mitterweile arbeite ich mehr in der XIDE als in der VO-IDE....
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
Horst
Posts: 327
Joined: Tue Oct 13, 2015 3:27 pm

XIDE von Begin an

Post by Horst »

Was ich nicht verstehe ist. Wen ich Streamwriter benutzen will muss ich #using nutzen. Wen ich Workdir() aufrufe muss ich NICHT XSharp.core als #using oben reinschreiben. Liegt es daran, dass Streamwriter eine Klasse ist und Workdir () eine Function ?
Post Reply