Avatar billede jopsen Nybegynder
19. december 2006 - 14:41 Der er 13 kommentarer

.Net library i delphi w32 app

Hej,

Jeg udvikler normalt i C# .Net/Mono, men nu har jeg fået programmering C i skolen (HTX). Fedt nok, problemet er bare at vi skal udvikle i Delpi w32, altså ikke .Net versionen.

Når men jeg har nogle dll'er skrevet i C# .Net, spørgsmålet er hvordan kan jeg skrive bindings til de klasser der findes i min dll, linke til dem og benytte dem i mit delhi program???

Jeg skal benytte Delphi express edition versionen til win 32 API, altså den der kompliere til binære win32 applikationer.

Jeg er meget ny til delphi, så hvis der nogen der ved noget om hvordan de der events virker i delphi w32? evt. lige lidt om at bruge .net objekterne i delphi.

Håber der nogen som hjælpe mig, på forhånd tak...

ps. kode eksempler, tutorials og artikler ville være meget rart.
Avatar billede martinlind Nybegynder
19. december 2006 - 14:45 #1
du kan hente en .NET Delhi-"lite" her

http://www.codegear.com/tabid/144/Default.aspx
Avatar billede jopsen Nybegynder
19. december 2006 - 14:47 #2
Ja, det ved jeg godt... Men nu er det en skole opgave og jeg skal desværre udvikle i delphi explorer edition... Ikke .Net version, men versionen til w32...
Avatar billede martinlind Nybegynder
19. december 2006 - 19:06 #3
måske du skulle overtale læren til at skifte til "fremtiden" den er jo også gratis :)
Avatar billede jopsen Nybegynder
19. december 2006 - 23:13 #4
Ja... men nu tror jeg det er rimeligt usandsynligt, desuden kan delphi da under ingen omstændigheder udgøre bare en lille del af fremtiden. Sproget er da en fuldstændig elendig udgave af C++ med ekstra fyld ord, tossede linjer, manglende konsistens og så lige strippet for de mest avancerede funktioner.
Når, men jeg kunne vel bruge et par dage på at skrive negative ting om min lærers valg af teknologi, det hjælper bare ikke særligt meget... Da jeg lige som skal få logik fra et C# bibliotek til et delphi program.

PS. Ja, delphi er måske godt hvis man er ny til programmering og ikke aner hvad man laver. Men jeg kan ikke finde en "Moving from (c++, c#, Java og/eller Python) to delphi guide" på nettet. Og når man kender almindelige programmerings teknikker og termer brugt i 9 ud af 10 andre programmering sprog i dag, ja så er delphi da det mest elendige sprog at arbejde med!
Avatar billede martinlind Nybegynder
20. december 2006 - 11:03 #5
Nu er Delphi sådan set bare dit værktøj, sproget er Borland Pascal og det fejler nu ikke noget, det er fint på højde med C++ C# og hvad du ellers nævner :)

Så det er nok bare dit ukendskab og din ulyst til at lære et nyt sprog der gør sig gældne :)
Avatar billede martinlind Nybegynder
20. december 2006 - 11:05 #6
PS. IDE'en ( Delphi ) er nu også ganske udemærket sammenlignet med f.eks. VS-2003
Avatar billede jopsen Nybegynder
20. december 2006 - 14:40 #7
Ja, delphi er måske brugbart hvis man ikke kan de termer der bruges i andre sprog. Og ja Delphi kan næsten det sammen som C++/C#/Java osv.. MEN delphi benytter ikke samme termer, hvilket vil sige at når man kommer fra et andet sprog er normalt kalder en metode for en metode, en klasse for en class osv..., så er det da forfærdeligt at skulle til at kalde metoderne for procedure/funktioner osv... Men ja, delphi er da måske okay, hvis man kan lide at lære alting forfra og skrive 2 gange så mange tegn som man normalt gør...

Men nu skal det her ikke handle om hvor mange negative ting jeg kan sige om delphi, for det skal nok gå galt på et tidspunkt, da jeg ikke er særligt bekendt med sproget :)... Så hvis nu evt. ved lidt om at få C# klasser til at kører i delphi W32, ville det være rart...

PS. Ja, IDE'en er ok. Men der er ikke ret meget information om udvikling med delphi uden IDE, hvilket gør delphi lidt ubrugeligt...
Avatar billede pidgeot Nybegynder
20. december 2006 - 15:54 #8
Borland/CodeGear havde et webinar om det her for en lille måneds tid siden - se http://dn.codegear.com/article/33859. Det du skal bruge begynder ca. 24 minutter inde i videoen.

Bemærk dog at det ikke ligefrem er helt let, da Win32 og .NET ikke mixer særligt godt (du skal registrere din Delphi applikation som en COM server, og er begrænset til simple returtyper fra .NET), så mon ikke det var betydeligt nemmere bare at omskrive din kode til Delphi.

I øvrigt kan jeg da lige hilse fra Skype og sige at deres Windows-klient er udviklet med Delphi, og jeg kan også henvise til en nylig undersøgelse på CodeProject (http://www.codeproject.com/script/survey/detail.asp?survey=613) hvor der var over 25% af alle der svarede som brugte Delphi. Så det er vist mindst lige så meget en del af fremtiden som de ting du nævner ;)
Avatar billede martinlind Nybegynder
20. december 2006 - 16:09 #9
godt pidgeot :)
Avatar billede psycosoft-funware Nybegynder
22. december 2006 - 16:31 #10
jeg tilslutter mig også til pidgeot og martinlind :D. delphi er lige så objekt orienteret som c++ o.a. - for ikke at sige bedre på nogle områder. delphi object pascal har også en meget mere logisk opbygning og et meget renere sprog at forstå en fx c++ (hvor mange ved  hvad void *char betyder???, i forhold til procedure DoSomething(Imput: Char);)
og jeg vil på intet og jeg uderstreger INTET tidspukt fortryde at jeg skiftede fra c++ til object pascal!
og den skrøne med at delphi ikke kan lige så meget som c++ er en gammel fis i en hornlygte - se bare på delphi JEDI, der kan du bla, få adgang til næsten hele DirectX API'en translated til delphi + at det komponent baseret miljø er langt mere gennemtænkt en fx VC++.
det der også gør delphi smart er at du har en unit til fx en form - i stedet for c++ hvor det er splitted ud mellem en .cpp og en .h fil...

/psycosoft-funware :)
Avatar billede jopsen Nybegynder
22. december 2006 - 18:14 #11
Smag og behag... Det kan godt være at delphi på nogle punkter er mere logisk opbygget end C++/C#/Java og alle andre normale sprog...
Men den logik og terminologi man benytter i alle andre sprog, finde ikke i rigtig i delphi. Hvilket klart ligger til grund for mit delphi had, desuden er det da forfærdeligt at være afhængig af en leverandør, specielt når borland hverken levere standarter eller kildekode. Det strider bare mod alt sund fornuft.
Den dag borland vælger at lukke supporten for en platform eller og stoppe udviklingen af delphi, så er man ret meget på.

Men som tidligere sagt, delphi er sikkert godt hvis man starter der, eller har haft dårlige erfaringer med c/c++ (hvilket jeg også har haft)... Men hvis man forstår de termer der bliver brugt i stort set alle andre programmerings sprog, så er der ikke meget logik i delphi.
Avatar billede psycosoft-funware Nybegynder
23. december 2006 - 01:40 #12
kilde: http://blogs.codegear.com;

quote
Learning Delphi

I recently made a passing comment on our Delphi database field test forum about my recent experience of learning Delphi.  I was quickly asked to blog it.  So here are some quick notes on my experience learning Delphi.  A little background first though.  I started my software career writing in c and some assembly, using make and vi.  While at Borland I moved on to C++, Java with JBuilder and Eclipse and a little bit of c#.  In my 17 or so years at Borland I had never developed in Delphi.  For the past 10 years I have been doing most of my development in Java.  I started developing in Delphi last May.



Learning Delphi has been an interesting experience for me.  Initially I thought the different syntax might be a bit of a hassle.  Its easy for a developer to unnecessarily get hung up on things like editor key bindings and programming language syntax.  However, Delphi syntax isn’t really a problem for me.  Sometimes its actually an improvement.  For example, the notion of a “Result” variable for return values can come in handy when writing function logic and the property syntax makes for elegant, easy to read code.  At the end of the day the more important issue to me is the ability to create object oriented abstractions.  Delphi’s support for single inheritance, delegates (events) and interfaces is powerful and straight forward.  Records (value types) can be especially convenient and efficient for non-gc based memory management. Delphi’s reference based objects with fields that are set to nil on creation are efficient and less error prone.



Packages, units, interface/implementation sections were a little different from what I was used to.  These features do help to provide good structure and encapsulation for Delphi applications.



I remember years ago that Anders Hjelsberg was giving me a demonstration of a new “override” feature for virtual methods in Delphi.  He explained it more than once I think because I was not showing enough excitement for the feature.  At the time I was working in Java so it wasn’t something I was going to get to use anyway.  Now that I am developing in Delphi, I really like this feature.  Without the override key word, implementing virtual methods through inheritance is more error prone.  Sometimes it’s the little things that make all the difference.



The Delphi compiler itself is lightning fast.  Sometimes I compile twice because I’m not sure I actually hit the compile key.



The Delphi naming conventions for classes, fields and parameters kind of make me laugh – in a good way.  I remember when I was working in the JBuilder team in the early days of Java that the Delphi guys would come over and say:  “You know, you really should put a “T” in front of your classes, and an “F” in front of you fields”.  Well that wasn’t really going to go over well with the rest of the Java world.  However now that I am working in Delphi, I never have to worry about how to differentiate that names for parameters, fields, classes, and objects instances.  Its simple, it works, and it is expected by the rest of the Delphi developers in the world.



Another aspect of Delphi that has been very interesting to me is the ability to write software that runs in both native and managed platforms.  I don't know of any other development environment that comes close to supporting this as well as Delphi.  I like this idea of the delphi language/rtl/vcl being a "super platform" for win32/64, .net, .net cf.  Of course going forward Delphi could become even better at this.  I have had to factor out platform specific code into separate units and use some ifdefs.  “Single source” may or may not be a big benefit for the Delphi community at large.  However, I like leveraging this feature so that we can provide similar or identical features for both the native and managed platforms that we support.



There are things I see missing and some things I don’t like in Delphi.  However almost all of these are correctable and the team already has plans to address many of these in future releases.



Well I’ve only scratched the surface of Delphi.  Overall I have really enjoyed developing software in Delphi.  Its well suited to rapidly developing large scale, high performance, object oriented software.



-Steve

posted @ 12/3/2006 8:58 PM by Steve Shaughnessy
/quote
Avatar billede martinlind Nybegynder
23. december 2006 - 13:04 #13
jopsen >>
"Men hvis man forstår de termer der bliver brugt i stort set alle andre programmerings sprog, så er der ikke meget logik i delphi."

Sjovt du synes det, jeg har kodet delphi i +10år og jeg skiftede til VS-2003 C#, på ca. en md. uden de store problemer, jeg så slet ikke de KÆMPE forskelle du ser :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester