Die Idee mit dem Lockscreen finde ich super. Sollte auch möglich sein wenn ich die Bilder auf Anfrage online bereitstelle siehe. Schau ich mir auf jeden Fall an. Dann kann ich auch direkt ne Live-Kachel erstellen.
@LaTino: Stimmt schon. Das Design erinnert noch stark an die Standard-Templates.
Einstampfen ist vielleicht etwas hart. Wie du schon sagst: Für mich läuft es ja.
Schon mal danke für's Feedback 👍
Hey Leute,
ich habe die letzten Wochen eine Diashow-App (mit Onlinequellen wie DeviantArt als Quelle) gebaut, lauffähig unter Windows RT, 8, 10.
Die Grundidee war meinem alten Surface RT (mit kaputten Touchscreen) noch ein 2. Leben als Bilderrahmen zu geben. Außerdem spiele ich gerne Musik auf meinem Fernseher ab, und da machen sich ein paar Bilder besser als der Desktop. Um nicht ewig irgendwelche Wallpaper zu suchen sollte die App ihre Bilder direkt online beziehen.
Außerdem brauchte ich ein kleines Projekt um die App-Entwicklung unter Windows 8 mal auszuprobieren.
Die ersten Rezensionen waren allerdings unterirdisch (1 Stern, "Nutzlos"). Was meint Ihr? Ist die Idee einfach überflüssig und sollte ich dementsprechend die Reißleine ziehen? Sollte ich das Design und die Handhabung noch mal überarbeiten? Welchen Eindruck mach die App auf euch?
Hab es schon gelöst:
modelBuilder.Entity<KONTAKTE>()
.HasRequired(b => b.KUNDEN)
.WithMany()
.HasForeignKey(b => b.KUNDENNR);
verwendetes Datenbanksystem: Firebird 2.5, Entity Framework 5, FirebirdClientDll 3.0.0.0
Hi Leute, ich möchte eine alte Datenstruktur über es Entity Framework (Code First) ansprechen. So habe ich einfach mehr Möglichkeiten auf die alte Struktur zu reagieren.
Ein Problem dabei ist, das in der Datenbank nicht mit foreign keys gearbeitet wird. Diese Verbindungen möchte ich aber trotz dem in meinem Context bereitstellen.
public class KUNDEN
{
public int KUNDENNR { get; set; }
public string KUNDNAME { get; set; }
}
public class RECHNUNGEN
{
public int RECHNUNGNR{ get; set; }
public int KUNDENNR{ get; set; }
public virtual KUNDEN KUNDEN { get; set; }
}
public class RechnungsContext : DbContext
{
public DbSet<RECHNUNGEN> RECHNUNGEN { get; set; }
public DbSet<RECHNUNGEN> KUNDEN { get; set; }
public CTKontakt(DbConnection connectionString) : base(connectionString, false)
{
Database.SetInitializer<CTKontakt>(null);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
/*modelBuilder.Entity<RECHNUNGEN>().HasRequired(b => b.KUNDEN)
.WithMany()
.Map(p => p.MapKey("KUNDENNR"));*/ //Fehler: Der Eigenschaftsname 'KUNDENNR' war bereits definiert
modelBuilder.Entity<RECHNUNGEN>().HasKey(a => new { a.RECHNUNGNR, a.KUNDENNR});
modelBuilder.Entity<KUNDEN>().HasKey(a => new { a.KUNDENNR });
base.OnModelCreating(modelBuilder);
}
}
Normalerweise würde ich einfach die Property KUNDENNR aus der Klasse RECHUNGEN entfernen, aber sie ist Teil des Primärschlüssels...
Ich habe gelesen das so eine Verbindung früher mit IsIndependent beschrieben wurde, aber die Methode gibt es mit dem EF 5 nicht mehr...
Ich bin noch relativ neu im Thema Entity Framework. Hat Jemand eine Idee?
Hallo Leute,
ich möchte demnächst einen Service schreiben um verschiedene Clients mit daten zu versorgen (Android, IOS, Modern-UI, ...).
Da auch "Nicht .net Anwendungen" unterstützt werden sollen, kommt der normale .Net / SOAP Service nicht in Frage. Rest und Dataservice sehen aber sehr gut aus.
Im moment tendiere ich zu einer hybriden Lösung (DataService für Stammdaten, Rest für Objekte mit Logik).
Ich vermute einfach das ich "nur" mit einem Dataservice einfach zu viel Logik (z.B. Validierung) auf den Client auslagern muss. Was denkt ihr, wo liegen die Grenzen eines Dataservice?
Aber der Link hat mir trotzdem geholfen:
private void RegisterDataProvider()
{
try
{
var dataSet = ConfigurationManager.GetSection("system.data") as System.Data.DataSet;
dataSet.Tables[0].Rows.Add("FirebirdClient Data Provider"
, ".Net Framework Data Provider for Firebird"
, "FirebirdSql.Data.FirebirdClient"
, "FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.7.5.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c");
}
catch
{ }
}
Einfach beim Aufruf der DLL ausführen und der DataProvider wird temporär in die Konfiguration geschrieben. Ist zwar nicht die sauberste Lösung, aber immerhin eine Lösung.
D A N K E
Hmmm, ich bin noch ziemlich unerfahren wenn es um das Entity Framwork geht. Ich dachte ich benötige die Providerfactory damit mein EntityDataModel (KundenEntities) auf die Datenbank zugreifen kann.
Folgenden Connection-String gebe ich an das EntityModel:
metadata=res://*/Data.KundenModel.csdl|res://*/Data.KundenModel.ssdl|res://*/Data.KundenModel.msl;provider=FirebirdSql.Data.FirebirdClient;provider connection string=\"dialect=3;initial catalog=127.0.0.1:D:\\Datenbanken\\Test.GDB;user id=SYSDBA;password=xxxxxx\"
Ich?
Mal zur Erklärung. Es handelt sich um einen Export von Daten an einen WCF-Service (daher in C# und nicht Delphi). Normalerweise würde man die entsprechenden Daten einfach per Parameter an die Dll übergeben und dann übertragen.
Allerdings muss ich in diesem Fall schnell und ohne eine neue Auslieferung des Hauptprogramms auf Änderungen reagieren können.
Daher muss auch der Abruf der Daten in der DLL stattfinden...
Edit:
Oder meinst du wofür der Zugriff benötigt wird? Ich benutze das Entity Framework. Hier mein Aufruf:
EntityConnectionStringBuilder ecsb = new EntityConnectionStringBuilder();
ecsb.Metadata = @"res://*/Data.KundenModel.csdl|res://*/Data.KundenModel.ssdl|res://*/Data.KundenModel.msl";
ecsb.Provider = @"FirebirdSql.Data.FirebirdClient";
ecsb.ProviderConnectionString = ProviderConnectionString;
PersonalEntities pe = new PersonalEntities(ecsb.ConnectionString); //Hier kommt der Fehler
IQueryable<IPERSONAL> result = from personal in pe.PERSONAL
where personal.PERSONALNR == personalNummer
select personal;
IPERSONAL newMitarbeiter = result.First();
Hallo Leute,
ich habe eine ActiveX-Dll für eine Delphi-Applikation geschrieben. Der Aufruf funktioniert auch sehr gut, nur beim Zugriff auf meine Datenbank bekomme ich Probleme. Wenn ich die Applikation auf einem Client aufspiele kann ich keine Datenbankverbindung aufbauen...
Auf meinem Entwickler-PC funktioniert alles super. Der Provider ist in der machine.config installiert.
<add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".Net Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.7.5.0, Culture=neutral, PublicKeyToken=4750abcc3160b00d"/>
Nur auf meinem Client bekomme ich Probleme. Meldung:> Fehlermeldung:
The specified store provider cannot be found in the configuration, or is not valid.
Normalerweise müsste der Firebird Data Provider in meiner App.Config eingetragen werden. Allerdings gibt es keine solche Datei wenn ich mit Delphi/AciveX arbeite.
Gibt es eine Möglichkeit einen Provider Hard-Codiert zu hilterlegen? Was währe die Alternative, ich kann ja nicht einfach an machine.config meines Clients herumpfuschen?
Danke für die Antworten!
@herbivore: Stimmt, aber ich solle die Möglichkeiten schon kennen um einschätzen zu können ob sie nötig sind. Daher das Testprojekt ^^
@gfoidl: Das sieht sehr gut aus, ich werde mich mal einarbeiten.
Hallo Leute,
ich arbeite im Moment an einem Testprojekt für eine 3-Layer Architektur. Es handelt sich dabei zunächst um eine kleine Adressverwaltung.
Jede Schicht greift auf die darunterliegende über ein Interface zu. Die Business-Schicht leitet die Objekte aus dem Data-Layer weiter. Hier (in der Business-Schicht) sollten später Validierung und Filterung stattfinden. Durch das Save im Datalayer werden alle Änderungen in die Datenbank übernommen.
public interface IBusinessRepositoryAdressen
{
IQueryable<IAdressen> Get();
Boolean Save();
IAdressen Create();
}
public interface IDataRepositoryAdressen
{
IQueryable<IAdressen> Get();
void Save();
IAdressen Create();
void Add(IAdressen adr);
void Delete(IAdressen adr);
}
public interface IAdressen
{
int ID { get; set; }
string Name { get; set; }
string Vorname { get; set; }
string Strasse { get; set; }
string PLZ { get; set; }
string Ort { get; set; }
}
Im Data-Layer werden die Adressobjekte aus der Datenbank mit Hilfe des Entity-Frameworks erzeugt:
private static IQueryable<IAdressen> Get(AdressenEntities ae)
{
IQueryable<IAdressen> result = from adresse in ae.Adressen
select adresse;
return (IQueryable<IAdressen>)result;
}
Die durch das EF erzeugten Objekte werden also in allen Schichten verwendet (durch das Inteface haben die oberen Schichten allerdings keinen Zugriff auf die EF-Logik.
Ich bin mir allerdings nicht sicher ob eine so enge Bindung das das EF bei einer größeren Anwendung zu Problemen führen könnte. Viele Quellen raten davon ab die Datenbankentitäten aus dem O/R-Mapper in den oberen Schichten zu verwenden.
Nur was stellt die Alternative dar? Durch mein derzeitiges Konzept kann (dank IQueryable) die Filterung der Daten in der Business-Schicht erfolgen. Da es sich um eine Neuentwicklung handelt entsprechen meine Business-Objekte 1:1 den Datenbanken. Entsprechende Unterschiede kann ich immer noch durch eine partielle Klasse ausgleichen.
Nach meinem jetzigen Verständnis müsste ich ein Business-Adressen-Objekt erzeugen, welches fast 1:1 der vom EF erzeugten Klasse entspricht. Dann müsste ich (in meinem Fall in der Business-Schicht) nach dem Filtern, aus den Datenbankentitäten die Business-Adressen-Objekte erzeugen (Mappen).
Das erscheint mir allerdings im Anbetracht des geringen Nutzen sehr viel Arbeit. Damit meine ich nicht nur aus Code-Sicht sondern auch den Performance-Verlust der durch das Mappen entsteht.
Wie sind euere Erfahrungen? Kapselt/Mappt ihr eure Datenbankentitäten?
Ich habe den Fehler gefunden. Offenbar war auf beiden Rechnern das Tool "ShortCut" (Version 3.5 von 2005) installiert. Shortcut scheint in dieser Version nicht mit WPF kompatibel zu sein...
D A N K E für die Hilfe!
Hmmm, daraus werde ich auch nicht schlau...
> mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x6a bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0x7e bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x2c bytes
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.Invoke() + 0x68 bytes
WindowsBase.dll!System.Windows.Threading.Dispatcher.ProcessQueue() + 0x15e bytes
WindowsBase.dll!System.Windows.Threading.Dispatcher.WndProcHook(System.IntPtr hwnd, int msg, System.IntPtr wParam, System.IntPtr lParam, ref bool handled) + 0x63 bytes
WindowsBase.dll!MS.Win32.HwndWrapper.WndProc(System.IntPtr hwnd = 460334, int msg = 49539, System.IntPtr wParam = 0, System.IntPtr lParam = 0, ref bool handled = false) + 0xbe bytes
WindowsBase.dll!MS.Win32.HwndSubclass.DispatcherCallbackOperation(object o) + 0x7d bytes
WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, object args, int numArgs) + 0x53 bytes
WindowsBase.dll!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(object source = {System.Windows.Threading.Dispatcher}, System.Delegate method, object args, int numArgs, System.Delegate catchHandler = null) + 0x42 bytes
WindowsBase.dll!System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, object args, int numArgs) + 0xb4 bytes
WindowsBase.dll!MS.Win32.HwndSubclass.SubclassWndProc(System.IntPtr hwnd = 460334, int msg = 49539, System.IntPtr wParam = 0, System.IntPtr lParam = 0) + 0x104 bytes
[Native to Managed Transition]
[Managed to Native Transition]
WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame frame = {System.Windows.Threading.DispatcherFrame}) + 0xc1 bytes
WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame frame) + 0x49 bytes
WindowsBase.dll!System.Windows.Threading.Dispatcher.Run() + 0x4c bytes
PresentationFramework.dll!System.Windows.Application.RunDispatcher(object ignore) + 0x17 bytes
PresentationFramework.dll!System.Windows.Application.RunInternal(System.Windows.Window window) + 0x6f bytes
PresentationFramework.dll!System.Windows.Application.Run(System.Windows.Window window) + 0x26 bytes
PresentationFramework.dll!System.Windows.Application.Run() + 0x1b bytes
WpfEdit2.exe!WpfEdit.App.Main() + 0x4c bytes C#
Edit: ich habe auf dem Rechner grade mal das .Net Framework entfernt (mit dem cleanuptool) und neu installiert, kein Unterschied.
Eben nicht, wenn ich auf "View Detail..." klicke kann ich das Treeview nicht öffnen und darin steht nur "{Cannot evaluate expression because the current thread is in a stack overflow state.}"
Komme leider nicht so weit:
{Cannot evaluate expression because the current thread is in a stack overflow state.}
Komisch, der Fehler tritt auch auf einem 2. Testrechner auf. Ich habe mich per remote debugging an den Prozess an gehangen und folgende Meldung bekommen:
An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll
Japp, das war auch meine Überlegung. Es wäre allerdings trotzdem schön den Fehler zu finden. Ich würde einfach gerne ausschließen das ich hier einen Fehler gemacht habe.
Ich denke ich werden nochmal ein Beispielprojekt auf einem anderen Rechner erzeugen und dann testen.
Hallo Leute,
ich habe in den letzten Wochen eine größere WPF-Applikation entwickelt und teste sie nun auf verschiedenen Systemen. Auf einem einzigen Client habe ich folgenden Fehler:
Sobald 2 Zeichen hintereinander in eine Textbox eingetragen werden schmiert die Anwendung ab (Programm kann nicht weiter ausgeführt werden).
Das Ganze konnte ich sogar in einem Testprojekt nachstellen in dem sich nur eine Textbox auf einem Formular befindet (ohne weiteren Code).
Framework: .NET 4
erstellt mit Visual Studio 2010 Ultimate
Clientrechner: Vista Business 32 bit
Ich habe mein folgendes Probiert:
Testprojekt auf Virtueller Maschine (Win XP SP2 saubere Installation) ausgeführt --> Keine Probleme nach Installation von .NET4
Neuinstallation des .Net 4 Frameworks auf Client --> keine Änderung
Compilieren mit .Net 3.5 --> keine Änderung
Hättet Ihr eine Idee was das sein könnte, bzw. wie ich den Fehler weiter debuggen könnte? Ich habe mal was vom Remote-Debugging gehört, wäre das eine Lösung? (der Client hängt am gleichen Netzwerk)
Im Anhang findet Ihr das Testprojekt, obwohl es relativ uninteressant ist. Ist halt nur eine neue WPF-Appliaktion mit 2 Textboxen
EDIT:
Ich habe den Fehler gefunden. Offenbar war auf beiden Rechnern das Tool "ShortCut" (Version 3.5 von 2005) installiert. Shortcut scheint in dieser Version nicht mit WPF kompatibel zu sein...
D A N K E für die Hilfe!
OK, hab es selbst gefunden. Unglaublich, da sucht man stundenlang nach einer Lösung und immer wenn man nen neuen Foreneintrag schreibt kommt man selbst auf die Lösung:
<HierarchicalDataTemplate x:Key="DienstDetailTemplate" DataType="{x:Type sys:String}">
<StackPanel>
<TextBlock Text="{Binding}"/>
</StackPanel>
</HierarchicalDataTemplate>
Danke für die Tipps. Nach gefühlten 100 Versuchen bin ich aber immer noch nicht am Ziel.
Das Ergebnis soll einmal so aussehen:
>Dienst1
Status
Einstellungen
>Dienst2
Status
Einstellungen
Mit dem folgenden XAML-Code funktioniert das auch schon ganz gut:
<UserControl x:Class="lwdienstverwaltungapl.UCTreeViewView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:src="clr-namespace:lwdienstverwaltungapl"
xmlns:coll="clr-namespace:System.Collections;assembly=mscorlib"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<StackPanel>
<StackPanel.Resources>
<coll:ArrayList x:Key="EigCollection">
<sys:String>Status</sys:String>
<sys:String>Einstellungen</sys:String>
</coll:ArrayList>
<HierarchicalDataTemplate x:Key="DienstDetailTemplate">
<StackPanel>
<TextBlock Text="Status/Einst/Pfade"/>
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="DienstTemplate"
DataType="{x:Type src:ClassTreeViewModel}"
ItemTemplate="{StaticResource DienstDetailTemplate}"
ItemsSource="{Binding Source={StaticResource EigCollection}}">
<TextBlock Text="{Binding Path=SDisplayName}"></TextBlock>
</HierarchicalDataTemplate>
</StackPanel.Resources>
<TreeView Height="200" ItemTemplate="{StaticResource DienstTemplate}" ItemsSource="{Binding Path=Dienste}">
</TreeView>
</StackPanel>
</UserControl>
Wie ihr seht ist mein einziges Problem die "Statischen" Items zu den Diensten darzustellen. Hat vielleicht noch Jemand eine Idee wie ich bei "<TextBlock Text="Status/Einst/Pfade"/>" ein Binding realisieren kann, das den Text aus dem statischen Array anzeigt?
Oder habe ich noch einen Denkfehler wenn mich meine statischen Items zu den dynamischen Punkten darstellen lassen möchte?
Hallo Leute,
ich habe ein (hoffentlich) kleines Problem mit dem TreeView. Ich möchte eine Liste von Punkten Dynamisch anzeigen lassen und zu jedem Punkt 3 feste Unterpunkte.
Wenn ich die Beispielwerte manuell im Designer hinterlegt funktioniert auch alles perfekt. Nur wenn ich die Items über das Data-Binding lade sind die Unterpunkte nicht mehr selektierbar...
Hier mein XAML-Code:
<UserControl x:Class="verwaltungapl.UCTreeViewView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:src="clr-namespace:verwaltungapl">
<Grid Height="297" Width="237">
<Grid.Resources>
<HierarchicalDataTemplate x:Key="Template">
<TreeViewItem Header="{Binding Path=SName}">
<TreeViewItem Header="Status" IsSelected="{Binding Path=IsSelected, Mode=TwoWay}" /> //Zum Testen, kein Unterschied zu den anderen Punkten
<TreeViewItem Header="Pfade" />
<TreeViewItem Header="Einstellungen" />
</TreeViewItem>
</HierarchicalDataTemplate>
</Grid.Resources>
<DockPanel >
<TreeView Name="_myTreeView"
Margin="0,0,0,0"
ItemsSource="{Binding Dienste}"
ItemTemplate="{StaticResource Template}">
</TreeView>
</DockPanel>
</Grid>
</UserControl>
Hoffe es kann mir Jemand helfen. Ich bin leider noch ein WPF-Neuling 😉
Status, Pfade und Einstellungen sollten mit der Maus selektierbar sein...
Danke für die Hilfe.
Der Fehler lag allerdings darin, das ich Attribut und Element vertauscht habe:
var ItemCollection = from Item in xdoc.Descendants("Item")
where Item.Attribute("id") != null && Item.Attribute("name") != null
select new XMLItem
{
Id = Item.Attribute("id").Value,
Name = Item.Attribute("name").Value
};
Hallo Leute,
ich arbeite mich im Moment ein wenig in LINQ to XML ein (anhand verschiedener Tutorials). Dafür habe ich folgenden Beispielcode geschrieben:
private void button1_Click(object sender, RoutedEventArgs e)
{
string xmlFileName = "test.xml";
XDocument xdoc;
if (File.Exists(xmlFileName))
{
xdoc = XDocument.Load(xmlFileName);
}
else
{
xdoc = new XDocument(
new XElement("TextXMLDoc",
new XElement("Liste",
new XElement("Item",
new XAttribute("id", "A"),
new XAttribute("name", "Wert1")),
new XElement("Item",
new XAttribute("id", "B"),
new XAttribute("name", "Wert2")
)
)
)
);
}
var ItemCollection = from Item in xdoc.Descendants("Item")
where Item.Element("id") != null && Item.Element("name") != null
select new XMLItem
{
Id = Item.Element("id").Value,
Name = Item.Element("name").Value
};
foreach (XMLItem item in ItemCollection)
{
MessageBox.Show(item.Name); //Hier sollte eine Message ausgegeben werden, passiert aber nix
}
xdoc.Save(xmlFileName);
}
}
public class XMLItem
{
public string Id
{
get;
set;
}
public string Name
{
get;
set;
}
}
Die XML wird am Ende ordnungsgemäß abgespeichert:
<?xml version="1.0" encoding="utf-8" ?>
- <TextXMLDoc>
- <Liste>
<Item id="A" name="Wert1" />
<Item id="B" name="Wert2" />
</Liste>
</TextXMLDoc>
Die "ItemCollection" ist allerdings leer... Kann mir Jemand sagen welchen Fehler ich mache?
legt sich nicht auf einen konkreten Algorithmus fest
Ach so, das hilft mir weiter. DANKE 👍
Danke für die Antwort.
Ich spekulier mal:
RSA/SHA1 Basiert immer noch auf dem Kryptographischen Verfahren RSA, PKCS7/SHA1 ist ein eigenständiger Standart für die Signatur.
Also würde ich vermuten das PKCS7 in der Lage ist Signaturen zu erstellen auch wenn nicht direkt auf den Private Key zugegriffen werden kann.
Dies währe z.B. bei der Nutzung einer SSEE (Sicher Signaturerstellungseinheit) der Fall. Hier ist die Schlüsselkarte mit einem PIN (also ein synchrones Verschlüsselungsverfahren) gesichert. Nach Eingabe des PIN erhält man einen generierten Session Key, der Zugriff auf den Privaten Schlüssel bleibt also verwehrt.
Das ganze ist NUR EINE VERMUTUNG nach dem was ich bis jetzt gelesen habe. Leider sind die meisten Quellen nicht detailliert genug...
Welche Verfahren dabei genau zum Einsatz kommen wäre natürlich noch interessant.
Hallo Leute,
Ich arbeite im Moment an der digitalen Signatur von PDF-Dokumenten. Dabei benutze ich die Komponente PDF-Blackbox.
Ich habe allerdings ein kleines Verständnisproblem. Nach meiner Auffassung sind für eine digitale Signatur ein Hash-Algoritmus und ein asynchrones Verschlüsselungsverfahren nötig. Es wird ein Hash-Wert des zu signierenden Dokumentes errechnet und mit dem privaten Schlüssel aus dem Zertifikat verschlüsselt.
Die Komponente bietet hier RSA+SHA1 an. Der Vorgang kann also wie folgt dargestellt werden (Viso 2010 ist toll 😄)
*siehe Anhang
Die Komponente bietet allerdings auch die Kombination PKCS7+SHA1 an. Soweit ich gelesen habe handelt es sich hierbei um ein hybrides Verschlüsselungsverfahren (also eine Kombination aus synchroner und asynchroner Verschlüsselung).
Meine Fragen:
Hoffentlich kann mir da Jemand helfen, obwohl das schon ziemlich ins Detail geht...
verwendetes Datenbanksystem: Firebird 2.1
Nabend,
hat Jemand von euch schon das Projekt "DBLinq" getestet? Laut Beschreibung unterstützt dieser Linq-Provider mittlerweile auch Firebird. Leider ist die Beschreibung zur Installation recht ungenau (oder ich bin einfach zu doof dafür). Funktioniert das beich euch und ist es praktikabel?
Das währe ja der Hammer wenn ich Firebird mit Linq nutzen könnte ^^
Das habe ich wohl zu umständlich erklärt 😁
Ich der Wochenansicht soll jeder Termin mithilfe eines eigenen MDI-Childs dargestellt werden. Also müssen diese Termine in jedem Fall im Vordergrund bleiben.
Edit: Aber SendToBack im OnClick des Grids funktioniert, D A N K E ^^
Nabend,
ich hab mal wieder ein mehr oder weniger schwieriges Problem:
Ich schreibe derzeit an einem Kalender (als Testprojekt, ich bin eigentlich eingefleischter Delphi-Programmierer).
Jetzt möchte ich im Hintergrund ein Grid als Wochenansicht anzeigen lassen. Darauf sollen dann als MDI-Childs die verschiedenen Termine erscheinen.
Ich hatte zunächst mit einfachen Panels gearbeitet, ich möchte allerdings mit den Resize-Events der Clients arbeiten...
Nun habe ich aber das Problem das ich es einfach nicht schaffe das Grid im Hintergrund anzuzeigen und die Clients darauf...
Zunächst hatte ich das Grid einfach in den Hintergrund gelegt und dann die Clients auf dem Formular erzeugt. Allerdings bleibt das Grid in diesem Fall immer dominant und scheint durch die Clients durch.
Dann habe ich das Grid in einen eigenen Client gepackt. Daraus ergibt sich allerdings das Problem das "TopMost" unter den Clients nicht funktioniert und bei einem Klick auf das Grid alle Termine in den Hintergrund verschoben werden. Bis jetzt konnte ich das Ganze nur lösen, indem ich das Grid auf "Enabled = false" gesetzt habe.
Hat vielleicht Jemand eine andere Idee wie ich die Termine vor dem Grid anzeigen lassen könnte, bei der das Grid aktiv bleibt?
Hallo Leute,
ich schreibe im Moment an einem Kalender (ist ein Übungsprojekt da ich gerade erst von Delphi auf C# umgestiegen bin ^^)
Ich möchte für die Wochenansicht ein DataGridView anzeigen lassen. das nur einen kleinen Hinweis als Text enthält, und beim Klick dann ein Panel mit Informationen anzeigt.)
Das funktioniert schon mal (zumindest nach dem was ich bis jetzt getestet habe) ziemlich gut. Die Daten für das DataGrid kommen aus einer ArrayList:
Nur habe ich noch das Problem das die Zeiten einfach nur als Felder angezeigt werden (siehe Bild). Ich finde keine Option mit der ich den Inhalt der 1. Spalte als Zeilenname anzeigen lassen könnte. Funktioniert das überhaupt mit dem DataGridView, oder brauche ich vielleicht eine andere Komponente?
Danke euch allen ^^
Jetzt funkioniert es:
public class EntryPanel : Panel
{
public EntryPanel()
{
}
private List<Label> Values = new List<Label>();
public void addValue (String inSText)
{
Label lbValue = new Label();
lbValue.Text = inSText;
lbValue.Parent = this;
Values.Add(lbValue);
this.Controls.Add(Values[Values.Count -1 ]);
for (int counter = 0; counter < this.Controls.Count; counter++)
{
this.Controls[counter].Left = 10;
this.Controls[counter].Top = (counter) * 25;
this.Height += 25;
}
}
}
Hallo Leute,
als eingefleischter Delphi-Programmierer arbeite ich mich in den letzten Wochen langsam in C#. Daher auch mein 1. Eintag in diesem Forum =). Als Testprojekt arbeite ich an einer Kalenderschnittstelle für die Google-Kalender-API.
Dafür brauche ich ein Panel das ich zur Laufaufzeit kreiere und dem ich Werte in Form von Labels zuweisen kann.
Ich habe also testweise das ein "EntryPanel" von "Panel" abgeleitet und ihm die Funktion "addvalue" hinzugefügt.
public class EntryPanel : Panel
{
public EntryPanel()
{
}
private List<Label> Values = new List<Label>();
public void addValue (String inSText)
{
Label lbTitle = new Label();
Values.Add(lbTitle);
Values[Values.Count-1].Left = 1;
Values[Values.Count-1].Top = 10 * this.Controls.Count;
Values[Values.Count-1].Parent = this;
Values[Values.Count-1].Text = inSText;
}
}
Der Aufruf sieht folgendermaßen aus:
entryPanel1.addValue("1");
Ich kann addValue leider du 1x ausführen. Danach passiert nichts mehr... Was mache ich falsch?
Könnte es vielleicht helfen wenn ich meinen PC einfach aus dem 1. Stock schmeiße?