Selam Şu (http://ddili.org/forum/thread/1382) konuda istediğimi aldım sonunda.
Şimdi bu kodları örnek olarak nasıl COM Programming standartlarına uygun hale getirebilirim?
Bu kodlari, C#'a eklemek istiyorum.
D ile rahatca halledebildigim seyi C# ile sacma sapan isim alanlarini ekleyerek hallediyoruz falan.
Sadece formu C#'a ait olan, geri kalan DLL'i falan D'ye ait olan bir program yapma hedefindeyim.
Ancak sanirim en onemli noktada cuvalladim :/
D'nin DLL'leri, .NET projelerine nasil eklenir ve kullanilir?
google'a dlang.org com programming, dllimport, d dll in c#, d code in c#, d code with c# gibi argumanlar yazdim ama bir nihai sonuca ulasamadim.
Fakat dlang forumunda bana com programmingden bahsedildi.
com programming'e baktim da windows'a bir nesne ekliyormus. Ben de kendi nesnemi ekleyerek projemde kullanma hedefindeyim.
Tabii her sey teoride oyle oncelikle com dll'leri farkli mi uretiliyor? normal dll elde edebiliyorum.
Ve nasil C# projeme, D kodunu dahil edecegim?
2 ayri konu oldu ama sanirim arama motorlarindan gelenler icin de uygun olacaktir diye dusundum.
Benim kodum:
import std.stdio;
import std.process;
import std.regex;
string extractSerial(string input) {
auto m = input.match(`SerialNumber\s+(\S+)\s+`);
if (m)
return m.captures[1];
else
throw new Exception("Could not find serial number");
}
void main()
{
string a = "wmic bios get serialnumber";
string b = "wmic os get serialnumber";
auto result = executeShell(a);
auto output = result.output;
writeln(extractSerial(output));
//system(a);
}
Bu kodu C# icinde kullanabilmem cok onemli geliyor bana. Belki de bir macera. Drag-Drop bir WinForm yontemi olsaydi C#'a bakmazdim bile. Ama hedefimi gerceklestirmek icin bir sekilde bunu o projeye dahil etmem sart.
Tesekkurler.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]