+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Geschütztes Feld

designer

(sabrina ettl) #1

Hallo,
wir nutzen z.Z. die Demo von List & Label in Verbindung mit Microsoft Visual Foxpro.
Unsere Kunden sollen mit dem Designer gewisse Berichte anpassen können.
Einige Felder müssen aber zwingend ausgegeben werden.
Wie kann ich sicherstellen, dass
1.) das Feld nicht gelöscht werden kann
2.) das Feld in jeden Fall ausgegeben wird - also u.A. sollte es nicht möglich sein die Hintergrundfarbe und die Schriftfarbe auf die gleiche Farbe zu setzen.

eine Alternative wäre: dieses Feld im Designer unsichtbar zu schalten

  • Wie ist das Problem lösbar ?

(combit - Jochen Bartlau) #2

Ich würde in diesem Fall das betreffende Objekt per LlDesignerProhibitEditingObject gegen Bearbeitung sperren. Sie müssen dann lediglich im Designer einen eindeutigen Namen für die zu sperrenden Objekte vergeben und diese API-Funktion ab dann vor dem Designeraufruf nutzen.

Alternativ können Sie das Objekt mit Hilfe der DOM-Funktionen auch dynamisch erst zur Druckzeit in das Objektmodell des Berichts einfügen - dann ist es im Designer vollkommen unsichtbar, zur Druckzeit aber dennoch vorhanden.


(sabrina ettl) #3

Hallo,
die Funktion “LlDesignerProhibitEditingObject” sieht gut aus.
Das Objekt kann nicht mehr ausgewählt werden und kann somit nicht gelöscht werden.

Allerdings könnte der Anwender ein weißes Foto drüber legen.
Somit würde mein geschütztes Feld nicht ausgegeben werden.

-> mein geschütztes Feld sollte allerdings IMMER ausgegeben werden.
Haben Sie noch eine Idee ?

Vielen Dank !


(Oliver Hambrecht) #4

Hallo,

ich denke, dass dann nur die Variante mit Hilfe von DOM, die jbartlau bereits als zweite Möglichkeit nannte, in Frage kommen würde um die Anforderung abzubilden.

Grüße


(sabrina ettl) #5

Hallo,
gibt es sonst keine Möglichkeit ?
Ich hätte das gerne über LlDesignerProhibitEditingObject gelöst.
So sehe ich das geschützte Feld im Designer…


(combit - Jochen Bartlau) #6

Wenn das Feld im Designer sichtbar ist kann ein böswilliger Benutzer immer irgendwas drüber legen. Ansonsten bleibt nur eine Kombination aus (z.B. eher dezenter) fest verdrahteter Watermark und einem Objekt im Designer. Man könnte aber natürlich zur Druckzeit das Objekt im Objektmodell suchen und in der Z-Order nach oben schieben. Dafür müsste es aus der Hierarchie gelöscht und ganz unten wieder eingefügt werden, so dass es zuletzt gedruckt wird.


(sabrina ettl) #7

die Foxpro Beispiele geben das leider nicht her.
Können Sie mir da ein Beispiel geben?


(combit - Jochen Bartlau) #8

Leider nein, mit FoxPro kenne ich mich nicht wirklich gut aus.

Wenn Sie möchten melden Sie sich doch einmal kurz beim Support. Im Prinzip könnten Sie das Generate Dynamic Project Files (DOM)-Beispiel für C++ ansehen, da wird ebenfalls mit direkten DLL-Funktionen gearbeitet. Im Kapitel 5.8 der Programmierer-Referenz sind die wichtigen Funktionen mit vielen Beispielen dokumentiert.