2013-03-28 14 views
7

Bir DLL üzerinde çalışıyorum ve verdiğim işlevlerin yalnızca ad ile değil, yalnızca sıralı olarak verilmesini istiyorum.Dışa aktarma işlevleri dll only ordinal

bu mümkün mü? Eğer evet ise nasıl yapıldığını bilmek isterim.

+4

Emin sıralı değerleri kullanabilirsiniz: http://101.lv/learn/delphi/ch19.htm. Ama isim 'gizli' değil, bu yüzden korkarım ki * sadece * parçasıyla almazsın. Ama tabiki fonksiyonlarınızı isimlendirebilirsiniz 'Fonksiyon001' vb –

+0

Ordinal dışa aktarımın 32 bit camlarda kullanımdan kaldırıldığını düşünmüştüm. –

cevap

13

Delphi'yi dışa aktarma işlevini işaretlemenin tek yolu, exports yönergesini kullanmaktır. Ve Delphi her zaman dışa aktardığınız her işlev için PE dışa aktarma tablosuna adlandırılmış bir girdi ekler. Ama fonksiyona isim vermeyecek kadar kolay.

library Project32; 

procedure Foo; 
begin 
end; 

exports 
    Foo index 1 name ''; 

begin 
end. 
+0

o trick.thanks – opc0de

+1

yapacak Bu benim en iyi bilgi için, yerleşik araçları ile daha iyi yapamazsınız. Sanırım PE dosyasını ihraç edilen isimleri çıkarmak için sıraya koyup, sıradakileri bırakabilirsiniz. –

+6

+1. Boş dize ismini kullanabileceğine dair hiçbir fikrin yoktu! –

İlgili konular