German Neuling bei Basic4ppc - wollte mal "Hallo" sagen ...

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo Foren-Gemeinde,

Ich habe mich seit einiger Zeit mit Basic4ppc beschäftigt und bin wirlich ganz angetan von den Möglichkeiten. :sign0188:

Bevor ich mich jetzt aber voll in die Materie hineinknien will, muß ich mir über einige Punkte noch Klarheit verschaffen.

Was ich hier ganz toll finde, ist, daß es auch ein Deutsches Forum gibt. Ich habe in der Vergangenheit viel mit XSDesigner (falls das jemand kennt) gemacht, was aber leider nicht mehr weiterentwickelt wird. Also mußte ich mich gezwungenermaßen nach neuen Möglichkeiten umschauen und bin u.a. auch hier gelandet. Jetzt geht es sozusagen um die "engere Auswahl" zwischen drei Software-Lösungen, die ich in Zukunft einsetzen will.

Im Wesentlichen möchte ich Applikationen entwickeln, die in der Lage sind, Daten zu sammeln (SQL, Datenbank + Sync-Möglichkeit), mit Pocket-Outlook zu kommunizieren (Kontakte, Termine und Aufgaben zu generieren und auszutauschen) und diese über den Pocket-PC mobil auszudrucken. Mit Basic4ppc dürfte dies alles hoffenlich ohne große Beschränkungen möglich sein.

Vielleicht könnte mir aber jemand über dieses Forum ein paar Informationen und Erfahrungen zum Start mitteilen, damit sich mein bisher sehr guter Eindruck von Basic4ppc noch festigt. Natürlich hätte ich da 1000 Fragen, ich will aber das Ganze auch nicht überstrapazieren.

Ein paar generelle Fragen wollte ich einfach mal loswerden um sicher zu sein, daß ich mich nicht mit (zu viel) Erwartungen in eine Sackgasse manövriere.

1) Ich habe mit XSDesigner einige Applikationen erstellt, aber nachdem ca. 2100-2500 Zeilen in VBScript geschrieben waren, kam plötzlich die Meldung "out of Memory". Kann das mit Basic4ppc auch passieren?

2) Hat jemand Erfahrungen mit größen Projekten, ob die mit der Größe des Funktionsumfangs dann immer langsamer werden?

3) Gibt es Beschränkungen (außer natürlich den Speicher) bei Datenbanken in der Größe, z.B. in der Anzahl der Saplten in einer Tabelle auf maximal 255 Spalten?

4) Gibt es eine Möglichkeit, die Seite nach unten größer zu machen und mit Scrollbalken an der Seite zu versehen?

5) Kann man bereits erstellte Formulare (Form) kopieren um diese z.B. auf einer anderen Seite innerhalb des Programmes nochmals zu verwenden? In anderen Programmen geht das, aber hier habe ich schon einiges probiert und schaffe es einfach nicht.

6) Super wäre dann in diesem Zusammenhang auch, wenn man ganze Programmteile kopieren könnte (also nicht nur Code, sondern auch die Form), um es in einem anderen Projekt zu verwenden. Auch da habe ich schon experimentiert und es hat nicht geklappt. Woran kann das liegen?

Wie bereits gesagt, habe ich noch 1000 Fragen, aber wenn ich hier zu den obigen Punkten was erfahren könnte, wäre mir wirklich schon sehr geholfen.

Meinen Dank schon jetzt im Voraus an den oder diejenigen, die sich meiner annehmen.

Gruß aus Schwäbisch Gmünd.
(Ich habe gesehen, daß hier noch jemand aus Schwäbisch Gmünd sehr aktiv ist) :)
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo JOTHA,

auf die schnelle erst einmal ein "Herzlich willkommen"! :)

Als Neuling in Sachen Basc4ppc sind Deine 1000 Fragen nur allzu verständlich, aber hier wird die in jedem Fall geholfen. Der Support ist geradzu genial! :sign0060: Oftmals gibt es sogar eine Art Wettbewerb darum, wer es im englischen Forum schafft, schneller als Erel zu Antworten...

Wo ich gerade beim Antworten bin, hier im Telegrammstil einige zu Deinen Überlegungen/Fragen (genereller Tipp: für detailierte Infos einfach mal die dll-Hilfen auf dem Desktop ansehen):
- Basic4ppc vefügt über eine Bibliothek zu SQLite-Anbindung, die auch hier im deutschen Forum intensiv betrachtet wird
- eine Anbindung an Pocket-Outlook gibt es auch (Outlook.dll)
- eine Druckfunktion direkt aus einem Basic4ppc-Program steht leider nur auf den Desktop, nicht aber auf dem Device zur Verfügung :sign0013:

Zur Frage 1: Ein "Out of Memory" hängt eigentlich nur vom Speicher des Pocket PC ab. Sonstige Beschränkungen wie Anzahl Variablen, Programmzeilen, Tabellengrößen etc. gibt es nicht.

Zu 2: Große Programme haben natürlich längere Ladezeiten beim Programmstart, sie arbeiten danach aber genauso schnell wie kleine.

Zu 3: siehe Antwort zu 1 (die SQLite-Spezies in diesem Forum dürfen mich hier ruhig korrigieren, nur um ganz sicher zu gehen...)

Zu 4: Nicht direkt eine Seite, aber gewisse Elemente schon. Siehe z.B. hier http://www.b4x.com/forum/german-forum/2457-elektroschaltplan-zeichen-11.html im Post #103. Aus meiner Sicht übrigens ein absolutes Top-Programm. Auch wenn man kein Elektro-Fachmann ist zeigt es in genialer Weise die Möglichkeiten von Basic4ppc.

Zu 5: Nicht per Drag & Drop im Gui-Editor. Ein Workaraound ist, die Elemente auf einem Panel zu Bündeln und dann innerhalb des Programms das Panel an ein anderes Parent-Element, d.h. an eine andere Form zu hängen. Für die Wiederverwendung von Forms in verschieden Programmen existiert ein separates Tool http://www.b4x.com/forum/official-updates/1511-formduplicator-tool-copy-forms-between-projects.html
Allerdings steht eine verbesserte Wiederverwendbarkeit von Forms auch schon auf der ToDoList von Erel für zukünftige Versionen.

Zu 6: Aktuell kann man Code in .txt Dateien auslagern und dann wie eine Zusatzbibliothek über Tools > Components > Add Code einbinden. Für das nächste Programmupdate ist sogar eine explizite Modulunterstützung angekündigt http://www.b4x.com/forum/announcements/2642-next-version-new-features.html

Soviel erst einmal zum Einstieg. Nun hoffe ich, Dich demnächst auch als aktiven Nutzer von Basic4ppc hier im Forum begrüßen zu können... ;)


Viele Grüße
specci48
 

mamuen

Member
Licensed User
Mist schon wieder zweiter ;-)

Herzlich willkommen Jotha,

da hast Du aber ne ganze Menge an Fragen. Ich will mal versuchen sie so gut es geht zu beantworten. Falls ich was falsches sage, kann mich ja bestimmt einer aus dem Forum korrigieren.

zu 1.
bestimmt, der Arbeitsspeicher ist auch für B4PPC Programme begrenzt. Das habe ich aber bis jetzt noch nicht erlebt. Gut meine Programme sind bis jetzt auch nur an die 1500 Zeilen gross geworden.

zu2.
ist wohl eher eine Frage der Programmiertechnik.

zu3.
habe leider keine Erfahrung bei SqlLite

zu4.
ja

zu5.
wenn Du die Form's im Programm und nicht im Designer erstellst, kannst Du sie koppieren.

zu.6
IDE zwei mal öffnen und dann mit "Cut and Paste"

zu 7.
hopla das wars ja schon.

Gut dann bleibt mir nur noch Dir viel Spass, beim Programmieren zu wünschen.


Gruss aus dem Kraichgau

Mamuen
 
Last edited:

JOTHA

Well-Known Member
Licensed User
Longtime User
Thanks

Hallo specci48 und mamuen,

vielen Dank für eure Antworten !
Das ging aber schnell - Super ! :sign0060:

- eine Druckfunktion direkt aus einem Basic4ppc-Program steht leider nur auf den Desktop, nicht aber auf dem Device zur Verfügung :sign0013:

... das ist leider sehr schade, in anderen Programmen (IDEs) ist das schon möglich, entweder durch Generierung eines HTML-Files und übertragen der Daten in ein HTML-Template (dann Ausdruck mit Drittanbieter-Software), oder es wurde in das Programm eine API, ActiveX, o.ä. eingebunden, die dann ein Pocket-PC-Programm (wie von FieldSoftware PIEPrint oder PrintPocketCE) beinhaltet oder automatisch startet.

Drucken aus dem Pocket-PC heraus wird überall sehr stiefmütterlich behandelt, obwohl es Sinn macht und eigentlich leicht möglich ist.

zu 1: Speicher ist eigentlich im PPC noch genug vorhanden, daran sollte es nicht liegen. Vielleicht beschränkt sich das XSForms intern irgendwie mit der Zuweisung von Speicher für VBScript-Code? In B4P ist das hoffentlich anders, das muß ich dann erstmal austesten.

Zu den anderen recht hilfreichen Antworten teste ich das eine oder andere mal an.

Vielen Dank nochmals!:):):):)
 

JOTHA

Well-Known Member
Licensed User
Longtime User
zu5. wenn Du die Form's im Programm und nicht im Designer erstellst, kannst Du sie koppieren.

... wie ist das gemeint: Forms im "Programm" erstellen?
Ich dachte, man kann die Form nur im Designer erstellen?

:confused:
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Druckfunktion

P.S.: Es gibt auch eine SDK zum implementieren von Druckfunktionen:

PrinterCE SDK

Nur mal so am Rande. ;)
 
D

Deleted member 103

Guest
Hallo JOTHA,

auch von mir ein Herzlich willkommen.

HTML:
... wie ist das gemeint: Forms im "Programm" erstellen?
Ich dachte, man kann die Form nur im Designer erstellen?

Alle Control's die man im Designer erstellen kann, können auch zur laufzeit erzeugt und verwendet werden.


PS. wir können uns aber auch am Maktplatz treffen und weiter sprechen.;)

Ciao aus Schwäbisch Gmünd,
Filippo
 

mamuen

Member
Licensed User
Hi Filippo,

danke für die schnelle Antwort.

Wenn mein Motorad noch TÜV hätte, wäre ich auch schnell zum Marktplatz gefahren. Ich denke Schwäbisch Gmünd ist nicht so weit weg von Sinsheim.

Gruss Mamuen
 

specci48

Well-Known Member
Licensed User
Longtime User
Alle Control's die man im Designer erstellen kann, können auch zur laufzeit erzeugt und verwendet werden.
Diese Pauschalaussage ist leider so nicht korrekt. :sign0013:
Man kann z.B. kein Calendar-Control und auch kein Menue zur Laufzeit erzeugen.
 

specci48

Well-Known Member
Licensed User
Longtime User
P.S.: Es gibt auch eine SDK zum implementieren von Druckfunktionen:

PrinterCE SDK

Nur mal so am Rande. ;)
Kaufsoftware wie dieses SDK gibt es wirklich genug, aber wer will denn schon jeden schei... bezahlen??? Da wird die Druckfunktion ja teurer als das komplette Basic4ppc. :sign0148:
Und noch eine Anmerkung zur Technik: das genannte SDK ist nicht .Net basiert und kann daher nicht direkt in Basic4pp verwendet werden. Und ich glaube kaum, dass jemand Lust, Zeit und Kenntnis besitzt, hier in .Net eine Wrapper-Dll zu schreiben...

Nichts für ungut, aber wenn das direkte Drucken unter dem .Net CF Framework so einfach wäre hätte Erel sicherlich schon eine Lösung präsentiert.
 
D

Deleted member 103

Guest
Hallo specci48,

nicht alle Control's aber bestimmt 99% und das ist schon was.

Ein Calendar-Control kann man mit der DLL "fgControl.dll" auch zur laufzeit erstellen.;)

Ciao,
Filippo
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Man kann z.B. kein Calendar-Control und auch kein Menue zur Laufzeit erzeugen.

... a propos "Calendar-Control":
Bei mir kommt immer so ein "amerikanischer Kalender", bei euren Programmen sehe ich aber "deutsche".

Ich habe es schon mit dem Format "dd.mm.yyyy" versucht, aber im Endergebnis ändert sich nichts.

Kann mir jemand mal den Trick verraten?

@ Filippo:
PS. wir können uns aber auch am Maktplatz treffen und weiter sprechen.

SEHR GERNE! ... und das Wetter macht in den nächsten Tagen auch noch mit. :)
 

specci48

Well-Known Member
Licensed User
Longtime User
nicht alle Control's aber bestimmt 99% und das ist schon was.
War auch nur als Anmerkung gedacht. Aber manchmal sind eben diese kleinen Unterschiede ärgerlich genug.

Ein Calendar-Control kann man mit der DLL "fgControl.dll" auch zur laufzeit erstellen.;)
Überredet... :)
 

specci48

Well-Known Member
Licensed User
Longtime User
Bei mir kommt immer so ein "amerikanischer Kalender", bei euren Programmen sehe ich aber "deutsche".

Ich habe es schon mit dem Format "dd.mm.yyyy" versucht, aber im Endergebnis ändert sich nichts.

Kann mir jemand mal den Trick verraten?

Folgende Zeilen
B4X:
    Calendar.DaysString = "MDMDFSS"
    Calendar.FirstDay = 2
    Calendar.TodayString = "Heute"
bestimmen die Überschriften der Tage, legen den ersten Wochentag der Woche fest und setzen den Bezeichner links unten auf "Heute". Zusätzlich sollte man in den Properties unter "Date Format" den Eintrag auf dd.mm.yyyy setzen.
Bei Gelegenheit in der Doku auch alles schön nachzulesen: Calendar

Gruß
specci48
 
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Ja Tach,
an den Neuling Jotha und weiterhin viel Spass und Infos im Forum.

Bobbes
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Ja Tach,
an den Neuling Jotha und weiterhin viel Spass und Infos im Forum.

Bobbes

Danke nochmals für die Begrüßung. Ich hatte darauf mit meinem Pocket-PC von unterwegs schon mal geantwortet, aber irgendwie ging dann das Ganze nicht übers mobile Internet zu senden ... (das konnte ich aber erst vor kurzem feststellen, daß es nicht angekommen ist.)

Ich habe jetzt schon meine ersten Gehversuche gestartet (direkt auf dem Pocket-PC) und es funktioniert auch schon auf dem Pocket-PC.

Auf dem Desktop läßt sich auch alles laden und bearbeiten, aber wenn ich den "Run"-Button drücke, erscheint folgende Meldung:

"Error loading program. Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."

Im Endeffekt kann ich damit also auf dem Desktop nicht weiter testen.

Bisher bin ich hier im Forum auch noch nicht fündig geworden.

Weiß jemand Rat? :(
 

klaus

Expert
Licensed User
Longtime User
Hallo JOHTA,

Willkommen in der B4PPC Familie !

Benützt Du Libraries in Deinem Programm ?

Es gibt Libraries die für beide Geräte gleich sind, und es gibt andere die verschieden sind.
Es könnte sein dass du solch eine Library verwendest, dann musst Du auf dem Desktop noch die Desktop Library laden.

Ansonsten kannst Du deinen Sourcecode posten dann können wir mal nachschauen wo das Problem liegt.

Beste Grüsse.
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo JOHTA,

Willkommen in der B4PPC Familie !

Benützt Du Libraries in Deinem Programm ?

Es gibt Libraries die für beide Geräte gleich sind, und es gibt andere die verschieden sind.
Es könnte sein dass du solch eine Library verwendest, dann musst Du auf dem Desktop noch die Desktop Library laden.

Hallo klaus,

danke für deine Begrüßung ! :)

Ich habe folgende Libraries hinzugefügt, obwohl ich diese noch gar nicht benutze (diese möchte ich später aber nutzen):

Auf dem Device:
Outlook.dll + SQLDevice.dll

Auf dem Desktop:
Outlook.dll + SQLDesktop.dll

1) Wenn ich die dll´s wieder lösche, ist dann auch das Problem beseitigt?

2) Müssen auf dem Device UND auf dem Desktop immer die gleichen dll´s sein, also dann wie folgt?

Auf dem Device:
Outlook.dll + SQLDevice.dll + SQLDesktop.dll

Auf dem Desktop:
Outlook.dll + SQLDesktop.dll + SQLDevice.dll

Vielen Dank schon mal in Voraus!
 

klaus

Expert
Licensed User
Longtime User
Wo speicherst Du deinen Sourcecode ?
Ich speichere den in einem Ordner im My Documents Ordner auf dem Device.
So ist der gleiche Sourcecode auch auf dem Desktop erreichbar durch die Kopie dieses Ordners mit ActiveSynch. Dann brauchst Du nicht 2 Sourcecodes zu verwalten.
Am einfachsten ist die Libraries für Beide in diesen Ordner einzubinden. Dann kannst Du überall arbeiten und auf dem Desktop für beide kompilieren.

Ich habe einen kleine Test vergenommen, ohne der SQLDesktop Library. Keine Fehlermeldung. Also schein das Problem bei Dir von etwas anderem kommen.

Kannst Du deinen Sourcecode posten dann schau Ich mal nach.

Grüsse.
 
Top