Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Ganesha
unregistriert
Ganesha
unregistriert
Quellcode |
|
1 2 3 4 5 6 7 |
copy Interop.KSEImportExport6.dll c:\windows\system32 copy ExterneDotNetIndis.dll c:\windows\system32 gacutil /i c:\windows\system32\Interop.KSEImportExport6.dll gacutil /i c:\windows\system32\ExterneDotNetIndis.dll regasm /tlb c:\windows\system32\ExterneDotNetIndis.dll |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2010\P rojects\ex\ExterneDotNetIndis\bin\Release>start.cmd C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2010\P rojects\ex\ExterneDotNetIndis\bin\Release>copy Interop.KSEImportExport6.dll c:\w indows\system32 1 Datei(en) kopiert. C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2010\P rojects\ex\ExterneDotNetIndis\bin\Release>copy ExterneDotNetIndis.dll c:\windows \system32 1 Datei(en) kopiert. C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2010\P rojects\ex\ExterneDotNetIndis\bin\Release>gacutil /i c:\windows\system32\Interop .KSEImportExport6.dll Microsoft (R) .NET Global Assembly Cache Utility. Version 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. Die Assembly wurde dem Cache erfolgreich hinzugefügt. C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2010\P rojects\ex\ExterneDotNetIndis\bin\Release>gacutil /i c:\windows\system32\Externe DotNetIndis.dll Microsoft (R) .NET Global Assembly Cache Utility. Version 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. Die Assembly wurde dem Cache erfolgreich hinzugefügt. C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2010\Projects\ex\ExterneDotNetIndis\bin\Release>regasm /tlb c:\windows\system32\ExterneDotNetIndis.dll Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.42 Copyright (C) Microsoft Corporation 1998-2004. All rights reserved. Types registered successfully Assembly exported to 'c:\windows\system32\ExterneDotNetIndis.tlb', and the type library was registered successfully |
Ganesha
unregistriert
Entwicklungswerkzeuge sind VS2010 Express(!!) einmal Basic, einmal C#
Wenn du nun ein HS mit deiner DLL verwendest kannst du im Debugger das Programm sauber verfolgen.
Ganesha
unregistriert
Ganesha
unregistriert
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 |
Projekt: test3 System: l5 Vorgang: Indikatorberechnung Titel: FDAX-5Minuten Indikator: Class1 Meldung: Fehler im Programmablauf aufgetreten: Invalid procedure call or argument (Fehler Nr. 5). Abschnitt: Class1() Berechnung: Class1() |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class Class1 { float[] open; float[] high; float[] low; float[] close; public bool Calculate(ref KSEImportExport6.KSEDataCollection cDaten, ref object Parameter, ref object[] ergebnis) { open = new float[cDaten.get_UpperBound("Open") - 1]; high = new float[cDaten.get_UpperBound("High") - 1]; low = new float[cDaten.get_UpperBound("Low") - 1]; close = new float[cDaten.get_UpperBound("Close") - 1]; for (int i = 0; i < close.Length; ++i) { ergebnis[i] = i; } return true; } }; |
Benutzer
Registrierungsdatum: 19. November 2009
Ganesha
unregistriert
Quellcode |
|
1 |
public bool Calculate(ref KSEImportExport6.KSEDataCollection cDaten, ref object Parameter, ref object o) |
Quellcode |
|
1 |
float[] ergebnis = (float[])o; |
Quellcode |
|
1 |
calc typical: (high+low+close)/3; |
Ganesha
unregistriert
Was witzigerweise wirklich geht. Man spart damit um die 200,- EUR.Für die ganz Sparsamen: es reicht, wenn man von der freien Express-Version auf die Professional-Version upgradet.
Siehe dazu beim Hersteller:
http://www.microsoft.com/germany/visuals…ofessional.aspx
Ganesha
unregistriert
Quellcode |
|
1 2 3 4 |
Dim Zeiger As String Dim Daten() As Single Zeiger = Parameter(3) Daten = cDaten(Zeiger) |
Ganesha
unregistriert
So, habs raus bekommen:Ich will als Parameter eine Datenreihe übergeben.
Quellcode |
|
1 2 3 4 5 |
Object[] o = (Object[])Parameter; String[] daten = new string[o.Length]; for(int i = 0; i < o.Length; i++) { daten[i] = (string)o[i]; } |
Quellcode |
|
1 2 3 4 |
string zeiger = daten[2]; //Zeiger holen int size = cDaten.get_UpperBound(zeiger); //Groesse abschaetzen float[] datenreihe = new float[size]; //Speicherbereich anlegen cDaten.CopySingleFeldToAddress(zeiger, ref datenreihe[0], size); //kopieren |