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 |