XIDE von Begin an
Moderator: wriedmann
XIDE von Begin an
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
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
XIDE von Begin an
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
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
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
XIDE von Begin an
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
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
XIDE von Begin an
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
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
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
XIDE von Begin an
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? Gruss Horst
Noch ne Frage warum braucht es die Using's wen man die Referencen eh angibt ?
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? Gruss Horst
Noch ne Frage warum braucht es die Using's wen man die Referencen eh angibt ?
XIDE von Begin an
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.
Stefan
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()
XIDE von Begin an
Hallo Horst,
siehe hier zum Konzept Namespaces (using):
https://docs.xsharp.it/doku.php?id=name ... _reference
Wolfgang
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
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
XIDE von Begin an
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
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
XIDE von Begin an
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....
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
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
XIDE von Begin an
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 ?