c++ builder 'da dll oluşturma....

C, C++ ve C++ Builder ile ilgili konuları buraya yazabilirsiniz.
Cevapla
i_zec
Üye
Mesajlar: 119
Kayıt: 01 Tem 2005 03:07

c++ builder 'da dll oluşturma....

Mesaj gönderen i_zec »

iyi çalışmalar.Dll oluşturmada sıkıntı yaşıyorum.Bana builderda dll oluşturma konusunda kısa bir ornek açıklarmısınız yada yazarmısınız (delphi gibi değilki **** googla yazınca buluyum... :( )
i_zec
Üye
Mesajlar: 119
Kayıt: 01 Tem 2005 03:07

Mesaj gönderen i_zec »

söyle Form1 in caption una "yasas1n olduuuu" yazdirsam yeter walla....
Kullanıcı avatarı
bluekid
Kıdemli Üye
Mesajlar: 541
Kayıt: 11 Haz 2004 10:45
İletişim:

Mesaj gönderen bluekid »

her ne kadar delphi kadar örnek olmasada -çünkü bazıları Visual C++ kullanıyor- var bir şeyler
-

buna bir bak
http://www.functionx.com/bcb/libraries/staticdll.htm


diğerleride var
http://www.functionx.com/bcb/index.htm
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

al bende de o kadar ya ne yazssam delphi geliyor c++ builder yok abi
ne olacak bizim bu halimiz.
Kullanıcı avatarı
bluekid
Kıdemli Üye
Mesajlar: 541
Kayıt: 11 Haz 2004 10:45
İletişim:

Mesaj gönderen bluekid »

C Builder Borlandın üvey evladı :wink:
ama araştırırsanız bulabilirsiniz ve bunun yanında başka imkanlarda var
C ile yazılımış örnekleride kullanabiliyorsunuz
VCL aynı Delphide yazılmış örneği biraz uğraşarakta olsa
çevirebiliriz

alın bir kaç link

http://www.functionx.com/
http://www.yov408.com/html/tutorials.php?&s=5
http://www.dgalaxy.com/
http://www.blong.com/Conferences/BorCon ... s/2106.htm
http://www.planet-source-code.com/vb/de ... p?lngWId=3
http://www.cuj.com/
http://www.neurophys.wisc.edu/comp/ccplus.html
http://programmerworld.net/resources/c_library.htm
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

bk
abi senin engilish iyi biz o kadar cozemiyoruz ki
ama ayrı bir baslık konuısu yapacam C++ Builder uveymi gelecegi ne bunun diye
bi tepkileri olcelim abi
Kullanıcı avatarı
warder
Üye
Mesajlar: 255
Kayıt: 10 Mar 2004 04:59

Mesaj gönderen warder »

i_zec yazdı:söyle Form1 in caption una "yasas1n olduuuu" yazdirsam yeter walla....
File->New->Other->Dll Wizard->Ok...->Ok

Kod: Tümünü seç

//---------------------------------------------------------------------------

#include <vcl.h>
#include <windows.h>
#pragma hdrstop
//---------------------------------------------------------------------------
//   Important note about DLL memory management when your DLL uses the
//   static version of the RunTime Library:
//
//   If your DLL exports any functions that pass String objects (or structs/
//   classes containing nested Strings) as parameter or function results,
//   you will need to add the library MEMMGR.LIB to both the DLL project and
//   any other projects that use the DLL.  You will also need to use MEMMGR.LIB
//   if any other projects which use the DLL will be performing new or delete
//   operations on any non-TObject-derived classes which are exported from the
//   DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
//   EXE's to use the BORLNDMM.DLL as their memory manager.  In these cases,
//   the file BORLNDMM.DLL should be deployed along with your DLL.
//
//   To avoid using BORLNDMM.DLL, pass string information using "char *" or
//   ShortString parameters.
//
//   If your DLL uses the dynamic version of the RTL, you do not need to
//   explicitly add MEMMGR.LIB as this will be done implicitly for you
//---------------------------------------------------------------------------

#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
        return 1;
}
//---------------------------------------------------------------------------
  String  __export Yaz()
  {
  return "yasas1n olduuuu";
  }
//---------------------------------------------------------------------------
Project->Make Project
Kaydettiğimiz yerde dll ve lib dosyası oluşturuldu.
File->CloseAll
-------------------------
Fle->New->Application...
Hemen kaydedelim. Ya dll projesinin yanına farklı bir adla ya da başka yere kaydetti iseek dll dosyasını yanına kopyalamalıyız. dll dosyasını system klasörüne (system32, windows gibi) de kopyalasak olur. Environment variable veya ortam değişkenleri dizinlerinden herhangi birisine olabilir.
Project->AddToProject... dllAdi.lib (kaydederken isim vermediysek Project1.lib olabilir)
dll mizin import kodunu da ekliyelim.
Buton ekleyip onclick olayına girebiliriz.

Kod: Tümünü seç

#include "deneme.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

String  __import Yaz();

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
        Caption = Yaz();
}
//---------------------------------------------------------------------------
Bu statik çağırma yolu idi. dinamik çağırma yöntemi daha kullanışlı olabilir.
Ancak yerli programlama sitelerinde daha önce her iki yöntem de oldukça işlendiği ve sorunun üzerinden de epey zaman geçtiği için girmiyorum. Sanırım burada da işlenmişti o konu.
Epeydir siteye gelememiştim geciktiği için kusura bakmayın.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Cevapla