So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einHallo,
Ich schreibe eine Anwendung, die an Benutzer verteilt werden soll ...
Aus mehreren Gründen benötige ich, dass die Anwendung alle zur Ausführung erforderlichen Skripte und Datentabellen zentralisiert (es ist nicht erforderlich, ein Skript oder eine Referenzdatentabelle außerhalb der Anwendung aufzurufen).
Es ist mir gelungen, alle meine Skripte in in die Anwendung eingebetteten Funktionen zu zentralisieren, aber ich weiß nicht, wie ich die Datentabellen einbetten soll (was bedeutet, dass ich einige Referenzdatentabellen immer noch an einem öffentlichen Ort aufbewahren und sie aus der Anwendung aufrufen muss). .
Weiß jemand, wie man alles in eine einzige App einbettet, um es verteilen zu können?
Vielen Dank.
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einMir ist klar, dass dies als gelöst markiert ist, aber ich wollte Folgendes hinzufügen:
Im Objekt-Explorer finden Sie Ihre Datentabellen. Wenn Sie darauf klicken, öffnen sich darunter die Eigenschaften. Von hier aus können Sie den Standort steuern. Es hört sich so an, als ob Sie es auf eingebettetes Skript einstellen möchten.
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einDas ist auch eine elegante Art
aber ich bevorzuge es, alle Dateien innerhalb der App zu zentralisieren.
Danke.
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einWenn sich Ihr Add-In auf einem freigegebenen Laufwerk befindet, können Sie Datensätze am Add-In-Speicherort speichern, anstatt sie dynamisch zu erstellen.Hier ist zum Beispiel eine addin.def:
id="com.abccorp.mydept.myapp"
name="My Application"
autoload=1
home="M:\jmpapps\myapp\Addin"
Sie würden alle Ihre JSL-Dateien und Datensätze im Ordner M:\jmpapps\myapp\Addin speichern.
In Ihrem Code können Sie Datensätze mithilfe des Add-In-Präfixes referenzieren:
open("$ADDIN_HOME(com.abccorp.mydept.myapp)\mydataset.xlsx");
HTH
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einDanke für die Info 
Dank an alle...
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einZu Ihrer Information,
JMP ist eine interpretierende Sprache, keine kompilierte Sprache.
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einAhhhh,
Ich verstehe. Es funktioniert jetzt perfekt...
Mir war nicht bewusst, dass man die Funktion zunächst definieren und dann aufrufen muss. In anderen Sprachen wird die Funktion nach der Kompilierung überall dort erkannt, wo sie platziert ist (auch außerhalb des Skripts).
Danke Leute !!
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einIan (übrigens nicht Jan) zeigte Code, in dem die Funktion definiert ist, bevor sie aufgerufen wird.Ihr Code ruft die Funktion auf, bevor sie definiert wird.
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einDas hat bei mir funktioniert:
NamesDefaultToHere(1);
CreateTab = Function( {}, {Default Local},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age", Numeric, Continuous, Format( "Best", 12 ), Set Values( [3, 5, 2, 8] ) ),
New Column( "Height", Numeric, Continuous, Format( "Best", 12 ), Set Values( [0.6, 1.03, 0.55, 1.3] ) )
);
A;
);
dt = CreateTab();
dt << Distribution(Y(:Height));
Wenn Sie Ihre Funktion zweimal aufrufen, kümmert sich JMP um die Tabellennamenkollision, sodass sie weiterhin funktioniert.
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einJan,
Ich habe unten einen einfachen Code eingefügt, um Ihren Vorschlag zu testen.
Ich bin mir sicher, dass das Prinzip funktioniert, aber irgendwie schaffe ich es nicht:
dt = CreateTab();
CreateTab = Function( {},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [3, 5, 2, 8] )
),
New Column( "Height",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [0.6, 1.03, 0.55, 1.3] )
)
);
A;
);Es ist, als ob die generierte Tabelle nicht an dt übergeben werden kann.
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einHallo Jan,
Es tut mir leid, ich habe einen Ihrer wichtigsten Tipps falsch verstanden!!!! 

Tatsächlich sollte Ihr Vorschlag zum „Kopieren von Datenskripten“ das Zaubermittel sein, damit es funktioniert !!!!! Diese Funktion war mir nicht bekannt!
Lass es mich testen ...
Vielen Dank.
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einIch verstehe den Kommentar zu „Spezifikationen oder Referenzen“ nicht ganz, aber vielleicht muss ich das nicht verstehen dieser Thread hilft.
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einJan,
Ich habe angefangen, Application Builder zu verwenden, habe dann aber aufgehört (ich verstehe nicht wirklich, wie ich die von mir erstellten Objekte steuern soll ... Außerdem habe ich im Vergleich zu einer vollständigen Skriptmethode nur begrenzte Objekte einzufügen).
Wie auch immer, jetzt schreibe ich alles.
Das Beispiel von Dan ist sehr gut, um zu veranschaulichen, was ich tun muss: In seinem Beispiel bedeutet das, was als Einbetten einer Datentabelle bezeichnet wird, lediglich, dass sie im Anwendungs-Builder angezeigt wird. Aber in Wirklichkeit wird es von seinem Speicherort ($SAMPLE_DATA\Big Class.jmp) bezogen. Das bedeutet, dass der Code von Dan nicht funktioniert, wenn ich nicht bereits irgendwo auf meinem Computer eine Kopie der Datentabelle „Big Class“ gespeichert habe.
Ich möchte Tabellen in die Anwendung einbetten, sodass Benutzer keine Kopie dieser Tabelle benötigen (und diese Tabellen sind übrigens eine Art Spezifikationen oder Referenzen, sodass ich sie nicht per Skript generieren kann).
Ich hoffe, meine Erklärung ist nicht zu vage ...:(
Betreff: So betten Sie Anwendungen, Skripte und Datentabellen in ein Paket einIch denke, der „beste“ Weg, dies zu tun, hängt möglicherweise davon ab, wie Sie die Anwendung erstellen (mit Application Builder?) und welchen Workflow und welche Benutzeroberfläche Sie wünschen. Dans Blogeintrag könnte nützlich sein.
Vergessen Sie nicht, dass Sie auch JMP-Tabellen „einbinden“ können, indem Sie die JSL hinzufügen, um sie in Ihren eigenen Code zu generieren (verwenden Sie „Tabellenskript kopieren“ aus dem Menü mit dem roten Dreieck der erforderlichen Tabelle).