# Plugins in VBS oder ActiveX



## Lazarus™ (4 November 2007)

Hallo,

mich würde mal interessieren, ob es den Bedarf gibt, für eine kleine Gemeinde, die Plugins (Freeware) für WinCC/flex entwickeln möchte und hier im Forum bereitstellen will ???
Scheinbar kommt von den Siemens Entwicklern ja eh immer nur Zeug, was wir nicht brauchen, also machen wir unsere Plugins selber...

Ich denke hier im Forum gibt es mehr als genügend Knowhow und es kann doch nur gut sein. Vielleicht sollten wir mal überlegen was wir so brauchen  
Und dann kann man das ja Open-Source umsetzen...
Da ich z.B. Delphi einigermaßen beherrsche, würde ich natürlich auch diese Sachen in Pascal (Turbo-Delphi = FREE) umsetzen, oder eben bei kleineren Aufgaben VBS...

Was meint Ihr dazu ???


----------



## Human (4 November 2007)

Hallo Lazarus,

ich habe vor kurzem einmal ein bisschen mit Delphi 6 ein paar ActiveX-Elemente für WinCC flexible gemacht und VBS beherrsche ich in den grundlegenden Zügen.

Ich würde mich da gerne daran beteiligen.

An was für "kleine Aufgaben" hast du gedacht, bzw. was wird wirklich gebraucht, ich weiß zwar, was für exotische Wünsche Kunden haben können, aber vielleicht hab ich es ja auch nur mit sehr ausgefallenen Kunden zu tun?


----------



## marcengbarth (17 Juni 2008)

Wie siehts denn hiermit eigentlich aus?


----------



## Human (17 Juni 2008)

Sieht aus, als wenn du der 1. wärst, der sich seit November für dieses Thema interessiert... 

Hast du vielleicht irgendwelche Vorschläge?


----------



## marcengbarth (18 Juni 2008)

Mich hätte es interessiert, was denn eventuell schon vorhanden wäre. Aber das scheint noch nicht allzu viel zu sein...


----------



## xhasx (24 Juni 2008)

Würd mich auch brennend interessieren!
Das Siemens ODK erschlägt einen ja!!!
Es gab mal ein Siemens Beispiel (FAQ) wie man mittels Visual Basic 6 ein einfaches AktiveX (Balkenanzeige) erstellt. Seit das ODK am Markt ist gibt's das aber nicht mehr!!!


----------



## marcengbarth (24 Juni 2008)

Also, wenn es um eine einfache Balkenanzeige geht, da kann ich dir weiterhelfen.


----------



## xhasx (24 Juni 2008)

Was und in welcher Version nimmst du her - VB, Delphi, oder C?


----------



## marcengbarth (24 Juni 2008)

Delphi 2007 professional


----------



## xhasx (24 Juni 2008)

Ich könnte mir Delphi 6 installieren. Das Delphi Genie bin ich aber nicht 
Hättest du mir da vielleicht ein Projekt?


----------



## johnij (24 Juni 2008)

Wieso nicht C/C++ oder C#, sogar VB
Delphi ....ist mal ein altes Ding


----------



## Ralle (24 Juni 2008)

johnij schrieb:


> Wieso nicht C/C++ oder C#, sogar VB
> Delphi ....ist mal ein altes Ding



So ein Quatsch, wirklich! Gibt leider kein 0% ACK!
Es geht mit Delphi, genauso, wie mit allen anderen. Habs aber nicht selber verzapft, sondern diesen Teil von jemandem proggen lassen, lt. seiner Aussage kein allzu großes Problem. Alle nötigen Infos hatte er sich aus dem Netz geholt.


----------



## johnij (24 Juni 2008)

Ralle schrieb:


> So ein Quatsch, wirklich! Gibt leider kein 0% ACK!
> Es geht mit Delphi, genauso, wie mit allen anderen. Habs aber nicht selber verzapft, sondern diesen Teil von jemandem proggen lassen, lt. seiner Aussage kein allzu großes Problem. Alle nötigen Infos hatte er sich aus dem Netz geholt.


 
Es geht mir nämlich darum, dass C++ und C# am meisten eingestzt sind.
Zum Beispiel bei der Entwicklung von WinCC flexible sind VB und C# eingesetzt.
Ich gebe zu, ich kann kein Delphi, weil ich sowas bis jetzt nie gebraucht habe. Deshalb setze ich viel auf Java, C++ und C#.

Nur zur Info: Delphi kann nicht alles, was zum Beispiel C# kann
Google mal!!!! C# vs. Delphi



johnij


----------



## xhasx (24 Juni 2008)

Und hast du mit C# schon mal ein Aktive X erstellt? Bei mir ging's nicht. Bei Delphi hat man ja schon die Möglichkeit dass man bei der Projekterstellung eine Aktive X Komponente anlegt.


----------



## Ralle (24 Juni 2008)

johnij schrieb:


> Es geht mir nämlich darum, dass C++ und C# am meisten eingestzt sind.
> Zum Beispiel bei der Entwicklung von WinCC flexible sind VB und C# eingesetzt.
> Ich gebe zu, ich kann kein Delphi, weil ich sowas bis jetzt nie gebraucht habe. Deshalb setze ich viel auf Java, C++ und C#.
> 
> ...



Dein Link ist uralt, aber letzhin läuft das nur wieder auf einen Glaubenskrieg zwischen engstirnigen Kleingeistern hinaus, worauf ich auch gut verzichten kann. Da du kein Delphi kannst, solltest du es einfach nicht als alt oder untauglich bezeichnen, da du das wohl dann kaum einschätzen kannst. Das viele C, C++ und C# einsetzen ist bekannt und hat sicher seinen Grund. Auch für die Entwicklung von Programmen wie WinCCFlex würde ich nicht unbedingt auf Delphi setzen, alleine schon, weil es eher eine Nische besetzt und nur eine rel. kleine Firma wie Borland dahintersteht. Das hat nichts mit gut oder schlecht zu tun. 

Übrigens, wenn man sich den Werdegang von WinCCFlex ansieht, frage ich mich allerdings auch, was da gelaufen ist und das ist sicher nicht die Schuld der Programmiersprache gewesen.


----------



## marcengbarth (24 Juni 2008)

Ich mache dann einfach mal ein Beispiel und schicke es dir.

Delphi 6 sollte gehen, vielleicht auch Turbo Delphi Explorer, das weiß ich aber nicht ob damit ActiveX geht.


----------



## MTec (25 Juni 2008)

Hallo,

ich wäre auch an einem Delphi-Beispiel interessiert.
Bei mir klappt der Variablenaustausch bisher nur von Flexible in das ActiveX-Control. (.Set-Procedure)

Probleme macht die andere Richtung über die .Get-Function. Variablen vom ActiveX-Control in die Flexible Runtime laufen irgendwie "ins Leere". Das liegt möglicherweise an der Ereignisbehandlungsroutine (ActiveXEvents), aber irgendwie komme ich nicht weiter...
Vielleicht könnte da jemand einen Tipp geben oder ein Beispiel posten?!

@Ralle: *ACK*



			
				johnij schrieb:
			
		

> Delphi ....ist mal ein altes Ding





			
				johnij schrieb:
			
		

> Deshalb setze ich viel auf Java, C++ und C#


Na wenn das so ist, dann lass uns doch einfach mal ein C++/C# Beispiel für ein einfaches Flexible-Control zukommen! 
EDIT: Ein Beispiel für ein Java ActiveX-Control wäre noch besser! 

Viele Grüße
MTec


----------



## marcengbarth (25 Juni 2008)

Also echt, immer die Vergleiche... Delphi ist alt, C# ist besser, usw.

Das nervt...

Kannst ja gerne C# nehmen, wenn du möchtest, oder auch C++, ganz egal. ActiveX geht außerdem auch mit Assembler...

ActiveX ist in Delphi meiner Meinung nach einfacher als in C#. Werde mich aber bei Gelegenheit noch mal damit befassen.


----------



## Human (25 Juni 2008)

Um mal wieder von dem Thema "C# ist soooooooooo super toll und Delphi der hinterletze Sch..." wieder wegzukommen...

Nö, ich lass das jetzt nicht auf mir sitzen als Delphi-Programmierer :TOOL:: Dass du mit Java und C++ programmierst kann ich ja noch nachvollziehen, aber C#... das ist doch nichts anderes, als Java, nur, dass es nicht auf ein anderes System portabel ist, da es für andere Systeme kein Framework gibt, zumindestens nicht von Microsoft! 

Und jetzt mal eine Frage zur Produktivitätssteigerung vom ActiveX-Programmieren für WinCC flexible: Wenn ich die Runtime einmal mit dem ActiveX gestartet habe kann ich die neue Version nichtmehr rüberkopieren, weil das ActiveX immernoch ausgeführt wird laut Windows, krieg ich das auch irgendwie wieder weg oder muss ich jedes Mal den Benutzer neu anmelden und danach WinCC flex neu starten?


----------



## marcengbarth (25 Juni 2008)

Versuch mal 
	
	



```
regsvr32 /u DeinControl.ocx
```



			
				Human schrieb:
			
		

> Nö, ich lass das jetzt nicht auf mir sitzen als Delphi-Programmierer :TOOL:: Dass du mit Java und C++ programmierst kann ich ja noch nachvollziehen, aber C#... das ist doch nichts anderes, als Java, nur, dass es nicht auf ein anderes System portabel ist, da es für andere Systeme kein Framework gibt, zumindestens nicht von Microsoft!



*ACK*


----------



## MTec (25 Juni 2008)

Human schrieb:


> Und jetzt mal eine Frage zur Produktivitätssteigerung vom ActiveX-Programmieren für WinCC flexible: Wenn ich die Runtime einmal mit dem ActiveX gestartet habe kann ich die neue Version nichtmehr rüberkopieren, weil das ActiveX immernoch ausgeführt wird laut Windows, krieg ich das auch irgendwie wieder weg oder muss ich jedes Mal den Benutzer neu anmelden und danach WinCC flex neu starten?


Das liegt irgendwie daran, dass auch nach dem Beenden von Flexible der Prozess "HmiES.exe" noch aktiv ist. Wenn man den Prozess über den Taskmanager beendet kann das Control wieder überschrieben werden.
Wäre auch dankbar wenn es dafür eine elegantere Möglichkeit geben würde... 


```
regsvr32 /u DeinControl.ocx
```
Das geht auch unter Delphi (bei mir BDS2006). Über Menüleiste "Start" --> "ActiveX-Server entfernen" wird das ActiveX-Control des geöffneten Projektes entfernt.

Viele Grüße
MTec


----------



## marcengbarth (25 Juni 2008)

Im Delphi2007 geht unreg auch über das Menü, aber ich dachte, er meint die Runtime auf dem Panel-PC.

Den HmiES.exe-Prozess könnte man ja vorher mit einem Tool killen. Dann kann man das alles in einem Batch-File machen...

Meine Build-Scripts usw. sind auch alles Batch-Files.


----------



## Human (25 Juni 2008)

OK, jetzt... ich hätte das nicht immer in eine Batch-Datei reinmachen sollen, sondern in 2, die eine zum Deinstallieren und die andere zum Installieren von dem ActiveX und schon vor dem Kopieren Deinstallieren...


----------



## afk (25 Juni 2008)

johnij schrieb:


> Wieso nicht C/C++ oder C#, sogar VB
> Delphi ....ist mal ein altes Ding


Da bin ich mal 1-2 Tage in der Versenkung, und schon verpasse ich wieder die besten Diskussionen, diesmal das PC-Equivalent der FUP/KOP-Diskussion ... 

Da ich mit allen oben aufgeführten Programmiersprachen arbeite, reiche ich trotzdem meine Meinung zu dem Thema hiermit nach:

Die beste Programmiersprache gibt es ganz einfach nicht, es gibt höchstens eine, die man persönlich für die Beste hält, was sich bei den meisten Programmierern wiederum dadurch begründet, daß sie eine andere Programmiersprache ganz einfach nicht beherrschen. 

Aus meiner Sicht gibt es eben nur für den jeweiligen Einsatzzweck besser oder schlechter geeignete Programmiersprachen, und damit ist nicht nur der reine Zweck der Software gemeint, die man damit programmieren will. Dazu gehört auch die Frage, wie sich das neue Projekt und die Sprache in der bestehenden Infrastruktur integrieren läßt, usw.

IMHO unterscheidet sich ein guter Software-Entwickler von einem mittelmäßigen Programmierer unter anderem dadurch, daß er die für den jeweiligen Anwendungsfall am besten geeignete Sprache auswählen und damit auch noch umgehen kann.


Gruß Axel


----------



## Larry Laffer (25 Juni 2008)

Da ich ja überall meinen Senf dazugeben muß ... *ACK*


----------



## marcengbarth (25 Juni 2008)

Seh ich ja ganz genauso... *ACK*


----------

